In a large bowl, cream butter and sugar until light and fluffy. Add eggs, one at a time, beating well after each addition. Stir in sour cream and extract. Combine the flour, baking powder, baking soda and salt. Gradually add to creamed mixture.
Spread half of the batter into a greased and floured 10-in. fluted tube pan. Spoon half of the cranberry sauce over batter; cut through batter with a knife to swirl the cranberry sauce. Layer with remaining batter and cranberry sauce; sprinkle with walnuts.
Bake at 350° for 45-55 minutes or until a toothpick inserted in the center comes out clean.
Cool for 15 minutes before removing from pan to a wire rack to cool completely. Combine glaze ingredients until smooth; drizzle over warm cake.