--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1876,6 +1876,8 @@ struct net_device {
+@@ -1891,6 +1891,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5447,6 +5447,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5454,6 +5454,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -6941,6 +6944,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7112,6 +7115,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -6988,6 +7033,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7162,6 +7207,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7074,6 +7120,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7254,6 +7300,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
+ netdev_update_addr_mask(dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
- }
-@@ -7697,6 +7744,7 @@ int dev_set_mac_address(struct net_devic
+
+@@ -7893,6 +7940,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;