--- src/r8168_n.c.orig 2013-07-02 14:20:27.355887286 +0200 +++ src/r8168_n.c 2013-07-02 14:24:25.302573010 +0200 @@ -52,6 +52,10 @@ #include #include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) +#include +#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) #include #endif @@ -2232,6 +2236,9 @@ swab16(opts2 & 0xffff)); ret = 0; } +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + if (opts2 & RxVlanTag) + __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), swab16(opts2 & 0xffff)); #else if (opts2 & RxVlanTag) __vlan_hwaccel_put_tag(skb, swab16(opts2 & 0xffff)); @@ -2295,7 +2302,11 @@ else tp->cp_cmd &= ~RxChkSum; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + if (dev->features & NETIF_F_HW_VLAN_CTAG_RX) +#else if (dev->features & NETIF_F_HW_VLAN_RX) +#endif tp->cp_cmd |= RxVlan; else tp->cp_cmd &= ~RxVlan; @@ -16195,7 +16206,11 @@ #ifdef CONFIG_R8168_VLAN if (tp->mcfg != CFG_METHOD_DEFAULT) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX; +#else dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; +#endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) dev->vlan_rx_kill_vid = rtl8168_vlan_rx_kill_vid; #endif //LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) @@ -16210,7 +16225,11 @@ #else dev->features |= NETIF_F_RXCSUM; dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX; +#else NETIF_F_RXCSUM | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; +#endif dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | NETIF_F_HIGHDMA; #endif