Question

Forwading Packets According to Flow

  • 24 November 2018
  • 1 reply
  • 227 views

Hello everyone, I am new to CumulusLinux. In our setup, a bare metal switch with Cumulus Linux installed is connected to several back-end servers. I'm trying to forward the packets to several back-end servers according to packet's flow and CPU loads of back-end servers. A flow is determined by source IP, destination IP, source port, destination port of the packet. Assume CPU loads are known and stored in the main memory. Which Cumulus Linux feature would help me do this task efficiently?

1 reply

Userlevel 5
"I'm trying to forward the packets to several back-end servers according to packet's flow and CPU loads of back-end servers."

This is a bit unclear. Perhaps give an example or two. In most cases destination IP address determines the destination node. Assuming some kind of anycast application where the destination IP address is non-unique it sounds like you're trying to use CPU load on the destination nodes as an additional routing metric? No standard routing protocol uses that metric today so perhaps you're trying to design some kind of SDN driven application?

It is certainly possible to do this kind of thing with some custom python scripts and a bit of elbow grease. However it's also possible to do this with Routing on the Host (RoH). By letting the hosts adjust their own routing metrics based on whatever inputs are important, these metrics are then advertised to the network, it would conceivably be possible to do this but enough of my guessing, what are your goals?

Reply