So my router connects to several ISPs using BGP. L2 transit switch is being used to aggregate all ISP's links. The question is - do I need to configure QoS on this transit switch to define separate queues for routing protocol traffic (BGP for example) so that user traffic would not affect neighbor relationships and routing updates? I have read many materials about QoS and there is written "Network control protocols such as STP, BGP, OSPF and so on traffic directed to CPU is handled by QoS engine on switches and routers automatically and this behavior can not be modified". Ok, I see, but what about this case - when routing protocol traffic is not directed to switch's CPU and actually a transit traffic?
You should configure QoS for the transit traffic. The quick and dirty way would be to just enable QoS. The routing protocol packets are automatically tagged so there really isn't much for configuration. You could of course create an elaborate QoS scheme, ensure proper marking, etc, but just enabling QoS will more than likely get you what you need.