diff options
Diffstat (limited to 'net/openvswitch')
| -rw-r--r-- | net/openvswitch/flow.c | 14 | ||||
| -rw-r--r-- | net/openvswitch/vport-netdev.c | 2 | 
2 files changed, 6 insertions, 10 deletions
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c index 98c70630ad06..733cbf49ed1f 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 */ diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c index 3c1e58ba714b..a9033481fa5e 100644 --- a/net/openvswitch/vport-netdev.c +++ b/net/openvswitch/vport-netdev.c @@ -158,7 +158,7 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb)  	if (unlikely(packet_length(skb) > mtu && !skb_is_gso(skb))) {  		net_warn_ratelimited("%s: dropped over-mtu packet: %d > %d\n", -				     ovs_dp_name(vport->dp), +				     netdev_vport->dev->name,  				     packet_length(skb), mtu);  		goto error;  	}  | 
