The key_attr_size() was not updated when RECIRC_ID and DP_HASH key fields are added to support recircualtion. This patch fixes it.
Reported-by: Ben Pfaff <[email protected]> Signed-off-by: Andy Zhou <[email protected]> --- datapath/datapath.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/datapath/datapath.c b/datapath/datapath.c index 81ecc0f..1d2f414 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -380,6 +380,10 @@ static int queue_gso_packets(struct datapath *dp, struct sk_buff *skb, static size_t key_attr_size(void) { + /* Whenever adding new OVS_KEY_ FIELDS, we should consider + * updating this function. */ + BUILD_BUG_ON(OVS_KEY_ATTR_IPV4_TUNNEL != 21); + return nla_total_size(4) /* OVS_KEY_ATTR_PRIORITY */ + nla_total_size(0) /* OVS_KEY_ATTR_TUNNEL */ + nla_total_size(8) /* OVS_TUNNEL_KEY_ATTR_ID */ @@ -391,6 +395,8 @@ static size_t key_attr_size(void) + nla_total_size(0) /* OVS_TUNNEL_KEY_ATTR_CSUM */ + nla_total_size(4) /* OVS_KEY_ATTR_IN_PORT */ + nla_total_size(4) /* OVS_KEY_ATTR_SKB_MARK */ + + nla_total_size(4) /* OVS_KEY_ATTR_DP_HASH */ + + nla_total_size(4) /* OVS_KEY_ATTR_RECIRC_ID */ + nla_total_size(12) /* OVS_KEY_ATTR_ETHERNET */ + nla_total_size(2) /* OVS_KEY_ATTR_ETHERTYPE */ + nla_total_size(4) /* OVS_KEY_ATTR_8021Q */ -- 1.9.1 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
