Preheat oven to 350 degrees F. Grease and flour 3 (9-inch) round layer cake pans.Sift flour, baking soda and coco together. Beat sugar and eggs together in a large bowl.
In a separate bowl mix together oil, vinegar, food coloring, and vanilla. Add to the bowl of eggs and sugar and beat until combined.
Add the flour mixture and the buttermilk to the wet mixture by alternating the buttermilk and dry ingredients. Always start with the flour and end with the flour.
Pour batter into pans. Tap them on the table to level out the batter and release air bubbles. Bake for 25 minutes or until a cake tester inserted near the middle comes out clean but be careful not to over bake or you'll end up with a dry cake. Let cake stand for five minutes then turn out onto wire rack to cool.
For the Frosting:
Let margarine and cream cheese soften to room temperature. Cream well. Add sugar and beat until mixed but not so much that the frosting becomes "loose". Add vanilla and nuts. Spread between layers and on top and sides of cake.