X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fvport-internal_dev.c;h=db55ee0e5519e1e46fba35f73d5ca877ab7ead96;hb=d6aa7ad6250d17885666c6505d567d06bfc093b2;hp=b425d76797dab82a684a33fe063071153f5b6cab;hpb=cd2a59e99c8a94b15655e29a4dc100a0dc221568;p=sliver-openvswitch.git diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c index b425d7679..db55ee0e5 100644 --- a/datapath/vport-internal_dev.c +++ b/datapath/vport-internal_dev.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -94,7 +95,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; } @@ -173,7 +174,7 @@ static void do_setup(struct net_device *netdev) netdev->hard_start_xmit = internal_dev_xmit; netdev->open = internal_dev_open; netdev->stop = internal_dev_stop; - netdev->set_mac_address = internal_dev_mac_addr; + netdev->set_mac_address = eth_mac_addr; netdev->change_mtu = internal_dev_change_mtu; #endif @@ -188,7 +189,7 @@ static void do_setup(struct net_device *netdev) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) netdev->vlan_features = netdev->features; - netdev->features |= NETIF_F_HW_VLAN_TX; + netdev->features |= NETIF_F_HW_VLAN_CTAG_TX; #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39) @@ -281,6 +282,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 +296,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, };