You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In tcp/tcp.go, the send function creates a new raw socket each time it gets called.
This causes unnecessary overhead. Socket's should be created and passed along to the send code.
Note: The DSCP value is currently being set on each socket file descriptor, rather than in a manually created IP header, so this will have to occur on the shared socket at the start of each batch cycle.
The text was updated successfully, but these errors were encountered:
This needs to be addressed with two related changes.
First, using RawConn from net.IPv4 (or building something similar) will allow for creating a connection that can get passed down to the send function in tcp.go so that it does not require creating a new raw socket for each outbound packet.
However, the system currently sets the DSCP/TOS parameter on the raw socket itself. If we are sharing one socket file descriptor, we will need to set the TOS field in the IP header, which means we now need to create the IP header ourselves (and make use of IP_HDRINCL).
So the second change will be to use gopacket to create the packet from layer 3 and up. The kernel will still handle layer 2.
In tcp/tcp.go, the send function creates a new raw socket each time it gets called.
This causes unnecessary overhead. Socket's should be created and passed along to the send code.
Note: The DSCP value is currently being set on each socket file descriptor, rather than in a manually created IP header, so this will have to occur on the shared socket at the start of each batch cycle.
The text was updated successfully, but these errors were encountered: