[ovs-dev] [PATCH v3 08/16] datapath: allow L3 netdev ports
Yi Yang
yi.y.yang at intel.com
Mon Feb 6 13:04:42 UTC 2017
>From net-next commit 217ac77a3c2524d999730b2a80b61fcc2d0f734a.
Allow ARPHRD_NONE interfaces to be added to ovs bridge.
Based on previous versions by Lorand Jakab and Simon Horman.
Signed-off-by: Lorand Jakab <lojakab at cisco.com>
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Jiri Benc <jbenc at redhat.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
Signed-off-by: Yi Yang <yi.y.yang at intel.com>
---
datapath/vport-netdev.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c
index 970f7d3..5486489 100644
--- a/datapath/vport-netdev.c
+++ b/datapath/vport-netdev.c
@@ -58,8 +58,10 @@ void netdev_port_receive(struct sk_buff *skb, struct ip_tunnel_info *tun_info)
if (unlikely(!skb))
return;
- skb_push(skb, ETH_HLEN);
- skb_postpush_rcsum(skb, skb->data, ETH_HLEN);
+ if (skb->dev->type == ARPHRD_ETHER) {
+ skb_push(skb, ETH_HLEN);
+ skb_postpush_rcsum(skb, skb->data, ETH_HLEN);
+ }
ovs_vport_receive(vport, skb, tun_info);
return;
error:
@@ -102,7 +104,8 @@ struct vport *ovs_netdev_link(struct vport *vport, const char *name)
}
if (vport->dev->flags & IFF_LOOPBACK ||
- vport->dev->type != ARPHRD_ETHER ||
+ (vport->dev->type != ARPHRD_ETHER &&
+ vport->dev->type != ARPHRD_NONE) ||
ovs_is_internal_dev(vport->dev)) {
err = -EINVAL;
goto error_put;
--
2.1.0
More information about the dev
mailing list