diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-12-07 12:15:33 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-12-07 12:15:33 +0100 |
commit | 222e82bef4bd520a31d48c31ab24e49dd46daa46 (patch) | |
tree | b6e73cad8e0b3a1c3e1acc537789e97aadaefa92 /net/openvswitch/flow.c | |
parent | 38ca9c927c7d3db61f57e3d3a9334958c3af6e9a (diff) | |
parent | 18a2f371f5edf41810f6469cb9be39931ef9deb9 (diff) |
Merge branch 'linus' into sched/core
Pick up the autogroups fix and other fixes.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/openvswitch/flow.c')
-rw-r--r-- | net/openvswitch/flow.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c index 98c70630ad0..733cbf49ed1 100644 --- a/net/openvswitch/flow.c +++ b/net/openvswitch/flow.c @@ -702,15 +702,11 @@ int ovs_flow_extract(struct sk_buff *skb, u16 in_port, struct sw_flow_key *key, /* We only match on the lower 8 bits of the opcode. */ if (ntohs(arp->ar_op) <= 0xff) key->ip.proto = ntohs(arp->ar_op); - - if (key->ip.proto == ARPOP_REQUEST - || key->ip.proto == ARPOP_REPLY) { - memcpy(&key->ipv4.addr.src, arp->ar_sip, sizeof(key->ipv4.addr.src)); - memcpy(&key->ipv4.addr.dst, arp->ar_tip, sizeof(key->ipv4.addr.dst)); - memcpy(key->ipv4.arp.sha, arp->ar_sha, ETH_ALEN); - memcpy(key->ipv4.arp.tha, arp->ar_tha, ETH_ALEN); - key_len = SW_FLOW_KEY_OFFSET(ipv4.arp); - } + memcpy(&key->ipv4.addr.src, arp->ar_sip, sizeof(key->ipv4.addr.src)); + memcpy(&key->ipv4.addr.dst, arp->ar_tip, sizeof(key->ipv4.addr.dst)); + memcpy(key->ipv4.arp.sha, arp->ar_sha, ETH_ALEN); + memcpy(key->ipv4.arp.tha, arp->ar_tha, ETH_ALEN); + key_len = SW_FLOW_KEY_OFFSET(ipv4.arp); } } else if (key->eth.type == htons(ETH_P_IPV6)) { int nh_len; /* IPv6 Header + Extensions */ |