2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

flow: extend it to carry IGMP protocol information

Add IGMP info to struct flow, flow compose and flow extract.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Flavio Leitner
2014-06-18 22:14:30 -03:00
committed by Ben Pfaff
parent 4a95091d1f
commit 0e6126754d
7 changed files with 38 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ struct pkt_metadata;
/* This sequence number should be incremented whenever anything involving flows
* or the wildcarding of flows changes. This will cause build assertion
* failures in places which likely need to be updated. */
#define FLOW_WC_SEQ 26
#define FLOW_WC_SEQ 27
#define FLOW_N_REGS 8
BUILD_ASSERT_DECL(FLOW_N_REGS <= NXM_NX_MAX_REGS);
@@ -119,10 +119,11 @@ struct flow {
/* L4 */
ovs_be16 tp_src; /* TCP/UDP/SCTP source port. */
ovs_be16 tp_dst; /* TCP/UDP/SCTP destination port.
* Keep last for the BUILD_ASSERT_DECL below */
ovs_be16 tp_dst; /* TCP/UDP/SCTP destination port. */
ovs_be32 igmp_group_ip4; /* IGMP group IPv4 address */
uint32_t dp_hash; /* Datapath computed hash value. The exact
computation is opaque to the user space.*/
* computation is opaque to the user space.
* Keep last for BUILD_ASSERT_DECL below. */
};
BUILD_ASSERT_DECL(sizeof(struct flow) % 4 == 0);
@@ -130,8 +131,8 @@ BUILD_ASSERT_DECL(sizeof(struct flow) % 4 == 0);
/* Remember to update FLOW_WC_SEQ when changing 'struct flow'. */
BUILD_ASSERT_DECL(offsetof(struct flow, dp_hash) + sizeof(uint32_t)
== sizeof(struct flow_tnl) + 172
&& FLOW_WC_SEQ == 26);
== sizeof(struct flow_tnl) + 176
&& FLOW_WC_SEQ == 27);
/* Incremental points at which flow classification may be performed in
* segments.