Regarding the fix and investigation to provide a fix:
- Agent currently uses a fixed buffer of 4096 per route to encode the XMPP message.
This is widespread and used for all types of routes today.
- Control Node uses a different lib api (third party) that does not require a local buffer to send messages to the Agent.
- Control Node handle sending routes received from the Agent via XMPP that are large.
* max buffer for non bgpaas peers is 32K for bgpaas peers is 4K, note the route above although > 4K in xmpp format is around 300bytes at most when sent to a BGP peer.
* Has logic to pack multiple routes in single update and also handles a single route exceeding the buffer limit (supresses update).
A clean fix requires transitioning the Agent to the same api's at the CN to handle sending messages (non trivial fix) + UT.
A shorter fix would be to change buffers from current 4K to 8K on the agent, requires UT on Agent and CN to be added.
Regarding the fix and investigation to provide a fix:
- Agent currently uses a fixed buffer of 4096 per route to encode the XMPP message.
This is widespread and used for all types of routes today.
- Control Node uses a different lib api (third party) that does not require a local buffer to send messages to the Agent.
- Control Node handle sending routes received from the Agent via XMPP that are large.
* max buffer for non bgpaas peers is 32K for bgpaas peers is 4K, note the route above although > 4K in xmpp format is around 300bytes at most when sent to a BGP peer.
* Has logic to pack multiple routes in single update and also handles a single route exceeding the buffer limit (supresses update).
A clean fix requires transitioning the Agent to the same api's at the CN to handle sending messages (non trivial fix) + UT.
A shorter fix would be to change buffers from current 4K to 8K on the agent, requires UT on Agent and CN to be added.
Recommend moving out of 4.1.2.