priv->orig_features = dev->features;
#ifdef HEADER_MODE
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
+ dev->priv_flags |= IFF_NO_IP_ALIGN;
+#else
dev->extra_priv_flags |= IFF_NO_IP_ALIGN;
+#endif
dev->features |= NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_TX;
#else
dev->features |= NETIF_F_HW_VLAN_CTAG_RX;
dev->eth_mangle_rx = NULL;
dev->eth_mangle_tx = NULL;
dev->features = priv->orig_features;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
+ dev->priv_flags &= ~IFF_NO_IP_ALIGN;
+#else
dev->extra_priv_flags &= ~IFF_NO_IP_ALIGN;
+#endif
}
static void
/* VID fixup only needed on ar8216 */
if (chip_is_ar8216(priv)) {
dev->phy_ptr = priv;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
+ dev->priv_flags |= IFF_NO_IP_ALIGN;
+#else LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
dev->extra_priv_flags |= IFF_NO_IP_ALIGN;
+#endif
dev->eth_mangle_rx = ar8216_mangle_rx;
dev->eth_mangle_tx = ar8216_mangle_tx;
}
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
dev->phy_ptr = NULL;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
+ dev->priv_flags &= ~IFF_NO_IP_ALIGN;
+#else LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
dev->extra_priv_flags &= ~IFF_NO_IP_ALIGN;
+#endif
dev->eth_mangle_rx = NULL;
dev->eth_mangle_tx = NULL;
#endif