Drop padding from struct odp_flow_key.
authorBen Pfaff <blp@nicira.com>
Mon, 22 Mar 2010 19:34:02 +0000 (12:34 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 1 Apr 2010 22:52:00 +0000 (15:52 -0700)
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.

datapath/datapath.c
include/openvswitch/datapath-protocol.h
lib/dpif-netdev.c

index db374ad..3b082c5 100644 (file)
@@ -1009,7 +1009,6 @@ static int put_flow(struct datapath *dp, struct odp_flow_put __user *ufp)
        error = -EFAULT;
        if (copy_from_user(&uf, ufp, sizeof(struct odp_flow_put)))
                goto error;
-       memset(uf.flow.key.reserved, 0, sizeof uf.flow.key.reserved);
 
        table = rcu_dereference(dp->table);
        flow = dp_table_lookup(table, &uf.flow.key);
@@ -1154,7 +1153,6 @@ static int del_flow(struct datapath *dp, struct odp_flow __user *ufp)
        error = -EFAULT;
        if (copy_from_user(&uf, ufp, sizeof uf))
                goto error;
-       memset(uf.key.reserved, 0, sizeof uf.key.reserved);
 
        flow = dp_table_lookup(table, &uf.key);
        error = -ENOENT;
@@ -1190,7 +1188,6 @@ static int 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 = dp_table_lookup(table, &uf.key);
                if (!flow)
index 18e1105..a23fb64 100644 (file)
@@ -211,7 +211,6 @@ struct odp_flow_key {
     __u8   dl_dst[ETH_ALEN];     /* Ethernet destination address. */
     __u8   nw_proto;             /* IP protocol or low 8 bits of ARP opcode. */
     __u8   nw_tos;               /* IP ToS (DSCP field, 6 bits). */
-    __u32  reserved[1];          /* Reserved for later use. */
 };
 
 /* Flags for ODP_FLOW. */
index da82b9d..34c1d81 100644 (file)
@@ -664,8 +664,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)) {