[ovs-dev] [netlink 08/16] datapath: Drop padding from struct odp_flow_key.

Ben Pfaff blp at nicira.com
Fri Sep 10 22:55:08 UTC 2010


Breaking this out as a separate commit should make it easier to see what
needs to change later, if we need to reintroduce padding at some point.

Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 datapath/datapath.c                     |    4 ----
 include/openvswitch/datapath-protocol.h |    1 -
 lib/dpif-netdev.c                       |    2 --
 lib/odp-util.c                          |    1 -
 4 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/datapath/datapath.c b/datapath/datapath.c
index 5941d26..066308a 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -994,8 +994,6 @@ static int do_put_flow(struct datapath *dp, struct odp_flow_put *uf,
 	struct tbl *table;
 	int error;
 
-	memset(uf->flow.key.reserved, 0, sizeof uf->flow.key.reserved);
-
 	table = rcu_dereference(dp->table);
 	flow_node = tbl_lookup(table, &uf->flow.key, flow_hash(&uf->flow.key), flow_cmp);
 	if (!flow_node) {
@@ -1153,7 +1151,6 @@ static struct sw_flow *do_del_flow(struct datapath *dp, struct odp_flow_key *key
 	struct tbl_node *flow_node;
 	int error;
 
-	memset(key->reserved, 0, sizeof key->reserved);
 	flow_node = tbl_lookup(table, key, flow_hash(key), flow_cmp);
 	if (!flow_node)
 		return ERR_PTR(-ENOENT);
@@ -1203,7 +1200,6 @@ static int do_query_flows(struct datapath *dp, const struct odp_flowvec *flowvec
 
 		if (copy_from_user(&uf, ufp, sizeof uf))
 			return -EFAULT;
-		memset(uf.key.reserved, 0, sizeof uf.key.reserved);
 
 		flow_node = tbl_lookup(table, &uf.key, flow_hash(&uf.key), flow_cmp);
 		if (!flow_node)
diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h
index 3e5bf28..145a119 100644
--- a/include/openvswitch/datapath-protocol.h
+++ b/include/openvswitch/datapath-protocol.h
@@ -227,7 +227,6 @@ struct odp_flow_key {
     uint8_t  nw_proto;          /* IP protocol or lower 8 bits of
                                    ARP opcode. */
     uint8_t  nw_tos;            /* IP ToS (DSCP field, 6 bits). */
-    uint32_t reserved[1];          /* Reserved for later use. */
 };
 
 /* Flags for ODP_FLOW. */
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index d848995..5f842e1 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -609,8 +609,6 @@ dp_netdev_lookup_flow(const struct dp_netdev *dp,
 {
     struct dp_netdev_flow *flow;
 
-    BUILD_ASSERT_DECL(ARRAY_SIZE(key->reserved) == 1);
-    assert(!key->reserved[0]);
     HMAP_FOR_EACH_WITH_HASH (flow, struct dp_netdev_flow, node,
                              odp_flow_key_hash(key, 0), &dp->flow_table) {
         if (odp_flow_key_equal(&flow->key, key)) {
diff --git a/lib/odp-util.c b/lib/odp-util.c
index 512a305..2d2307c 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -174,7 +174,6 @@ odp_flow_key_from_flow(struct odp_flow_key *key, const struct flow *flow)
     memcpy(key->dl_dst, flow->dl_dst, ETH_ADDR_LEN);
     key->nw_proto = flow->nw_proto;
     key->nw_tos = flow->nw_tos;
-    memset(key->reserved, 0, sizeof key->reserved);
 }
 
 void
-- 
1.7.1





More information about the dev mailing list