Preheat the oven to 350 degrees F (175 degrees C). Grease two 9 inch round cake pans.
In a medium bowl, stir together the flour, cinnamon and sugar. Add the oil and eggs, mix until blended, then stir in the carrots and nuts. Divide the batter evenly between the two prepared pans.
Bake for 25 to 30 minutes in the preheated oven. A toothpick inserted into the cake should come out clean. Cool cakes on wire racks before removing from pans.
To make the frosting, use the second set of ingredients. In a medium bowl, cream together the butter and cream cheese, add the sugar and cream well. Stir in the nuts and vanilla. Use to fill and frost the cooled cake layers.