diff options
author | Klement Sekera <ksekera@cisco.com> | 2018-02-22 11:41:12 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-03-21 00:01:44 +0000 |
commit | 4c53313cd7e9b866412ad3e04b2d91ac098c1398 (patch) | |
tree | 185aa1f368ea2eb997c2ed46433b31178efc71c9 /src/vnet/buffer.h | |
parent | 2303cb181b51f63c909cd506125c1f832432865a (diff) |
reassembly: feature/concurrency
This change makes ip reassembly an interface feature, while adding
concurrency support. Due to this, punt is no longer needed to test
reassembly.
Change-Id: I467669514ec33283ce935be0f1dd08f07684f0c7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Diffstat (limited to 'src/vnet/buffer.h')
-rw-r--r-- | src/vnet/buffer.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/vnet/buffer.h b/src/vnet/buffer.h index e785145c0b5..02688e26530 100644 --- a/src/vnet/buffer.h +++ b/src/vnet/buffer.h @@ -161,15 +161,24 @@ typedef struct } icmp; /* reassembly */ - struct + union { - u16 fragment_first; - u16 fragment_last; - u16 range_first; - u16 range_last; - u32 next_range_bi; - u16 ip6_frag_hdr_offset; - u16 estimated_mtu; + /* in/out variables */ + struct + { + u32 next_index; /* index of next node - ignored if "feature" node */ + u16 estimated_mtu; /* estimated MTU calculated during reassembly */ + }; + /* internal variables used during reassembly */ + struct + { + u16 fragment_first; + u16 fragment_last; + u16 range_first; + u16 range_last; + u32 next_range_bi; + u16 ip6_frag_hdr_offset; + }; } reass; }; |