diff options
Diffstat (limited to 'net/colo.h')
-rw-r--r-- | net/colo.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/net/colo.h b/net/colo.h index 0658e869b4..da6c36dcf7 100644 --- a/net/colo.h +++ b/net/colo.h @@ -45,6 +45,15 @@ typedef struct Packet { int64_t creation_ms; /* Get vnet_hdr_len from filter */ uint32_t vnet_hdr_len; + uint32_t tcp_seq; /* sequence number */ + uint32_t tcp_ack; /* acknowledgement number */ + /* the sequence number of the last byte of the packet */ + uint32_t seq_end; + uint8_t header_size; /* the header length */ + uint16_t payload_size; /* the payload length */ + /* record the payload offset(the length that has been compared) */ + uint16_t offset; + uint8_t flags; /* Flags(aka Control bits) */ } Packet; typedef struct ConnectionKey { @@ -64,6 +73,12 @@ typedef struct Connection { /* flag to enqueue unprocessed_connections */ bool processing; uint8_t ip_proto; + /* record the sequence number that has been compared */ + uint32_t compare_seq; + /* the maximum of acknowledgement number in primary_list queue */ + uint32_t pack; + /* the maximum of acknowledgement number in secondary_list queue */ + uint32_t sack; /* offset = secondary_seq - primary_seq */ tcp_seq offset; /* |