aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/buffer.h
diff options
context:
space:
mode:
authorKlement Sekera <ksekera@cisco.com>2018-02-22 11:41:12 +0100
committerDamjan Marion <dmarion.lists@gmail.com>2018-03-21 00:01:44 +0000
commit4c53313cd7e9b866412ad3e04b2d91ac098c1398 (patch)
tree185aa1f368ea2eb997c2ed46433b31178efc71c9 /src/vnet/buffer.h
parent2303cb181b51f63c909cd506125c1f832432865a (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.h25
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;
};