X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=datapath%2Fvport-internal_dev.c;h=904c0b32b1da94f62d73c13b15acf7fcfa89d5d5;hb=3dd7c5a4dbb54fb68eeb7acfd0fce1238435b0e7;hp=9a159cda9249800923c3558926dd20fce2265fd8;hpb=db0c31340fe260f281aaea07b0fbce41bef07c7d;p=cascardo%2Fovs.git diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c index 9a159cda9..904c0b32b 100644 --- a/datapath/vport-internal_dev.c +++ b/datapath/vport-internal_dev.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -40,9 +41,6 @@ struct internal_dev { struct vport *vport; -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) - struct net_device_stats stats; -#endif }; static struct internal_dev *internal_dev_priv(struct net_device *netdev) @@ -58,11 +56,7 @@ static struct rtnl_link_stats64 *internal_dev_get_stats(struct net_device *netde #else static struct net_device_stats *internal_dev_sys_stats(struct net_device *netdev) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) - struct net_device_stats *stats = &internal_dev_priv(netdev)->stats; -#else struct net_device_stats *stats = &netdev->stats; -#endif #endif struct vport *vport = ovs_internal_dev_get_vport(netdev); struct ovs_vport_stats vport_stats; @@ -173,7 +167,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 @@ -186,10 +180,8 @@ static void do_setup(struct net_device *netdev) netdev->features = NETIF_F_LLTX | NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA | NETIF_F_HW_CSUM | NETIF_F_TSO; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) netdev->vlan_features = netdev->features; - netdev->features |= NETIF_F_HW_VLAN_TX; -#endif + netdev->features |= NETIF_F_HW_VLAN_CTAG_TX; #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39) netdev->hw_features = netdev->features & ~NETIF_F_LLTX; @@ -281,14 +273,11 @@ 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); -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - netdev->last_rx = jiffies; -#endif - return len; }