X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fvport-internal_dev.c;h=7f0b3c1d852c2222af69150b3d32de7243a8729b;hb=85606e05b691be7c2f2d4bcf0e91170b71ec8fbb;hp=b425d76797dab82a684a33fe063071153f5b6cab;hpb=cd2a59e99c8a94b15655e29a4dc100a0dc221568;p=sliver-openvswitch.git diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c index b425d7679..7f0b3c1d8 100644 --- a/datapath/vport-internal_dev.c +++ b/datapath/vport-internal_dev.c @@ -94,7 +94,7 @@ static int internal_dev_xmit(struct sk_buff *skb, struct net_device *netdev) vlan_copy_skb_tci(skb); rcu_read_lock(); - ovs_vport_receive(internal_dev_priv(netdev)->vport, skb); + ovs_vport_receive(internal_dev_priv(netdev)->vport, skb, NULL); rcu_read_unlock(); return 0; } @@ -281,6 +281,7 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb) skb->dev = netdev; skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, netdev); + skb_postpull_rcsum(skb, eth_hdr(skb), ETH_HLEN); forward_ip_summed(skb, false); netif_rx(skb); @@ -294,11 +295,9 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb) const struct vport_ops ovs_internal_vport_ops = { .type = OVS_VPORT_TYPE_INTERNAL, - .flags = VPORT_F_REQUIRED, .create = internal_dev_create, .destroy = internal_dev_destroy, .get_name = ovs_netdev_get_name, - .get_ifindex = ovs_netdev_get_ifindex, .send = internal_dev_recv, };