Message ID | 1512575428-16377-1-git-send-email-christopher.dion@dell.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | net_sched: use macvlan real dev trans_start in dev_trans_start() | expand |
From: Chris Dion <christopher.dion@dell.com> Date: Wed, 6 Dec 2017 10:50:28 -0500 > Macvlan devices are similar to vlans and do not update their > own trans_start. In order for arp monitoring to work for a bond device > when the slaves are macvlans, obtain its real device. > > Signed-off-by: Chris Dion <christopher.dion@dell.com> Looks good, applied.
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 3839cbb..cd1b200 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -26,6 +26,7 @@ #include <linux/list.h> #include <linux/slab.h> #include <linux/if_vlan.h> +#include <linux/if_macvlan.h> #include <net/sch_generic.h> #include <net/pkt_sched.h> #include <net/dst.h> @@ -277,6 +278,8 @@ unsigned long dev_trans_start(struct net_device *dev) if (is_vlan_dev(dev)) dev = vlan_dev_real_dev(dev); + else if (netif_is_macvlan(dev)) + dev = macvlan_dev_real_dev(dev); res = netdev_get_tx_queue(dev, 0)->trans_start; for (i = 1; i < dev->num_tx_queues; i++) { val = netdev_get_tx_queue(dev, i)->trans_start;
Macvlan devices are similar to vlans and do not update their own trans_start. In order for arp monitoring to work for a bond device when the slaves are macvlans, obtain its real device. Signed-off-by: Chris Dion <christopher.dion@dell.com> --- net/sched/sch_generic.c | 3 +++ 1 file changed, 3 insertions(+)