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
My goal for this week was to figure out how to implement packet checksums and finish my TCP connection replay feature.
I spent most of the week fiddling around with checksumming packets in a throwaway git branch. I couldn't get hardware checksum offload working initially, so I started working on a software implementation. I used DPDK's checksumming methods at first, but the documentation claimed that they don't support TCP options; I want to be able to support TCP options, so I started writing my own implementations of DPDK's checksumming functions.
After I had rewritten 80% of DPDK's checksum functions, I found a post on the DPDK mailing list that showed me how to turn on the flag for hardware checksumming. Once I committed that, I gave up on my software implementation. I may (depending on time constraints) go back and finish it.
The next two important commits (54a97a and b5a9ca) in my throwaway branch just finish the code for the TCP handshake and sequence number patching.
TODO:
Merge the important commits from scratch-checksum into dev-tcpreplay
Get a 3rd nimbnode box
Start testing dev-tcpreplay, using the third nimbnode as a middlebox
Start figuring out how many connections/packets dev-tcpreplay can handle at once
Fork tcp_conn_track NF into an athena NF
Remove UDP tracking code from athena
Clean up TCP connection tracking state machine code
The text was updated successfully, but these errors were encountered:
@twood02
My goal for this week was to figure out how to implement packet checksums and finish my TCP connection replay feature.
I spent most of the week fiddling around with checksumming packets in a throwaway git branch. I couldn't get hardware checksum offload working initially, so I started working on a software implementation. I used DPDK's checksumming methods at first, but the documentation claimed that they don't support TCP options; I want to be able to support TCP options, so I started writing my own implementations of DPDK's checksumming functions.
After I had rewritten 80% of DPDK's checksum functions, I found a post on the DPDK mailing list that showed me how to turn on the flag for hardware checksumming. Once I committed that, I gave up on my software implementation. I may (depending on time constraints) go back and finish it.
The next two important commits (54a97a and b5a9ca) in my throwaway branch just finish the code for the TCP handshake and sequence number patching.
TODO:
tcp_conn_track
NF into anathena
NFathena
The text was updated successfully, but these errors were encountered: