diff --git a/target/linux/generic/patches-3.18/721-phy_packets.patch b/target/linux/generic/patches-3.18/721-phy_packets.patch index 3aa019f41c..779ab4d0f2 100644 --- a/target/linux/generic/patches-3.18/721-phy_packets.patch +++ b/target/linux/generic/patches-3.18/721-phy_packets.patch @@ -8,6 +8,37 @@ }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN +@@ -1241,6 +1242,7 @@ enum netdev_priv_flags { + #define IFF_LIVE_ADDR_CHANGE IFF_LIVE_ADDR_CHANGE + #define IFF_MACVLAN IFF_MACVLAN + #define IFF_XMIT_DST_RELEASE_PERM IFF_XMIT_DST_RELEASE_PERM ++#define IFF_NO_IP_ALIGN IFF_NO_IP_ALIGN + + /** + * struct net_device - The DEVICE structure. +@@ -1511,6 +1513,11 @@ struct net_device { + const struct ethtool_ops *ethtool_ops; + const struct forwarding_accel_ops *fwd_ops; + ++#ifdef CONFIG_ETHERNET_PACKET_MANGLE ++ void (*eth_mangle_rx)(struct net_device *dev, struct sk_buff *skb); ++ struct sk_buff *(*eth_mangle_tx)(struct net_device *dev, struct sk_buff *skb); ++#endif ++ + const struct header_ops *header_ops; + + unsigned int flags; +@@ -1573,6 +1580,10 @@ struct net_device { + void *ax25_ptr; + struct wireless_dev *ieee80211_ptr; + ++#ifdef CONFIG_ETHERNET_PACKET_MANGLE ++ void *phy_ptr; /* PHY device specific data */ ++#endif ++ + /* + * Cache lines mostly used on receive path (including eth_type_trans()) + */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -2044,6 +2044,10 @@ static inline int pskb_trim(struct sk_bu