OpenWrt – Diff between revs 2 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 2 Rev 3
Line 9... Line 9...
9 net/ethernet/eth.c | 18 +++++++++++++++++- 9 net/ethernet/eth.c | 18 +++++++++++++++++-
10 4 files changed, 69 insertions(+), 2 deletions(-) 10 4 files changed, 69 insertions(+), 2 deletions(-)
Line 11... Line 11...
11   11  
12 --- a/include/linux/netdevice.h 12 --- a/include/linux/netdevice.h
13 +++ b/include/linux/netdevice.h 13 +++ b/include/linux/netdevice.h
14 @@ -1752,6 +1752,8 @@ struct net_device { 14 @@ -1749,6 +1749,8 @@ struct net_device {
15 struct netdev_hw_addr_list mc; 15 struct netdev_hw_addr_list mc;
Line 16... Line 16...
16 struct netdev_hw_addr_list dev_addrs; 16 struct netdev_hw_addr_list dev_addrs;
17 17
18 + unsigned char local_addr_mask[MAX_ADDR_LEN]; 18 + unsigned char local_addr_mask[MAX_ADDR_LEN];
19 + 19 +
20 #ifdef CONFIG_SYSFS 20 #ifdef CONFIG_SYSFS
21 struct kset *queues_kset; 21 struct kset *queues_kset;
22 #endif 22 #endif
23 --- a/include/linux/skbuff.h 23 --- a/include/linux/skbuff.h
24 +++ b/include/linux/skbuff.h 24 +++ b/include/linux/skbuff.h
25 @@ -747,7 +747,8 @@ struct sk_buff { 25 @@ -742,7 +742,8 @@ struct sk_buff {
26 #ifdef CONFIG_NET_SWITCHDEV 26 #ifdef CONFIG_NET_SWITCHDEV
27 __u8 offload_fwd_mark:1; 27 __u8 offload_fwd_mark:1;
28 #endif 28 #endif
Line 32... Line 32...
32 32
33 #ifdef CONFIG_NET_SCHED 33 #ifdef CONFIG_NET_SCHED
34 __u16 tc_index; /* traffic control index */ 34 __u16 tc_index; /* traffic control index */
35 --- a/net/core/dev.c 35 --- a/net/core/dev.c
36 +++ b/net/core/dev.c 36 +++ b/net/core/dev.c
37 @@ -4572,6 +4572,9 @@ static enum gro_result dev_gro_receive(s 37 @@ -4550,6 +4550,9 @@ static enum gro_result dev_gro_receive(s
38 enum gro_result ret; 38 enum gro_result ret;
Line 39... Line 39...
39 int grow; 39 int grow;
40 40
41 + if (skb->gro_skip) 41 + if (skb->gro_skip)
42 + goto normal; 42 + goto normal;
43 + 43 +
Line 44... Line 44...
44 if (!(skb->dev->features & NETIF_F_GRO)) 44 if (!(skb->dev->features & NETIF_F_GRO))
45 goto normal; 45 goto normal;
46 46
Line 47... Line 47...
47 @@ -5864,6 +5867,48 @@ static void __netdev_adjacent_dev_unlink 47 @@ -5838,6 +5841,48 @@ static void __netdev_adjacent_dev_unlink
48 &upper_dev->adj_list.lower); 48 &upper_dev->adj_list.lower);
Line 91... Line 91...
91 +} 91 +}
92 + 92 +
93 static int __netdev_upper_dev_link(struct net_device *dev, 93 static int __netdev_upper_dev_link(struct net_device *dev,
94 struct net_device *upper_dev, bool master, 94 struct net_device *upper_dev, bool master,
95 void *upper_priv, void *upper_info) 95 void *upper_priv, void *upper_info)
96 @@ -5936,6 +5981,7 @@ static int __netdev_upper_dev_link(struc 96 @@ -5910,6 +5955,7 @@ static int __netdev_upper_dev_link(struc
97 goto rollback_lower_mesh; 97 goto rollback_lower_mesh;
98 } 98 }
Line 99... Line 99...
99 99
100 + netdev_update_addr_mask(dev); 100 + netdev_update_addr_mask(dev);
101 ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, 101 ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
102 &changeupper_info.info); 102 &changeupper_info.info);
103 ret = notifier_to_errno(ret); 103 ret = notifier_to_errno(ret);
104 @@ -6062,6 +6108,7 @@ void netdev_upper_dev_unlink(struct net_ 104 @@ -6036,6 +6082,7 @@ void netdev_upper_dev_unlink(struct net_
105 list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) 105 list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
Line 106... Line 106...
106 __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr); 106 __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
107 107
108 + netdev_update_addr_mask(dev); 108 + netdev_update_addr_mask(dev);
109 call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, 109 call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
110 &changeupper_info.info); 110 &changeupper_info.info);
111 } 111 }
112 @@ -6664,6 +6711,7 @@ int dev_set_mac_address(struct net_devic 112 @@ -6636,6 +6683,7 @@ int dev_set_mac_address(struct net_devic
113 if (err) 113 if (err)
114 return err; 114 return err;
115 dev->addr_assign_type = NET_ADDR_SET; 115 dev->addr_assign_type = NET_ADDR_SET;