Message ID | 20130814233412.GC13066@order.stressinduktion.org |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Aug 15, 2013 at 01:34:12AM +0200, Hannes Frederic Sowa wrote: > We already did this change for igmp/mld packets in commit > 9d4a0314642918cbda9ed4012df51e8df608fce6 ("ipv4, ipv6: send igmpv3/mld > packets with TC_PRIO_CONTROL"). > > arp and ndisc are as important as mld/igmp for a working network, so > make the appropriate change here, too. > > Cc: Benjamin LaHaise <bcrl@kvack.org> > Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> I would like to downgrade this patch from tag net-next to RFC. After Dave Taht talked to me, I realized that this change could have drastic impact on how packets could starve in various qdiscs if a router is last hop for a ping scan. Please postpone this patch until I did more research. Comments are welcome, too. Thanks, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 4429b01..4ed18371 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -92,6 +92,7 @@ #include <linux/fddidevice.h> #include <linux/if_arp.h> #include <linux/skbuff.h> +#include <linux/pkt_sched.h> #include <linux/proc_fs.h> #include <linux/seq_file.h> #include <linux/stat.h> @@ -594,6 +595,7 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip, skb_reset_network_header(skb); arp = (struct arphdr *) skb_put(skb, arp_hdr_len(dev)); skb->dev = dev; + skb->priority = TC_PRIO_CONTROL; skb->protocol = htons(ETH_P_ARP); if (src_hw == NULL) src_hw = dev->dev_addr; diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 79aa965..007f868 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -50,6 +50,7 @@ #include <linux/ipv6.h> #include <linux/icmpv6.h> #include <linux/jhash.h> +#include <linux/pkt_sched.h> #include <net/sock.h> #include <net/snmp.h> @@ -382,7 +383,7 @@ static struct sk_buff *ndisc_alloc_skb(struct net_device *dev, __func__, err); return NULL; } - + skb->priority = TC_PRIO_CONTROL; skb->protocol = htons(ETH_P_IPV6); skb->dev = dev;
We already did this change for igmp/mld packets in commit 9d4a0314642918cbda9ed4012df51e8df608fce6 ("ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL"). arp and ndisc are as important as mld/igmp for a working network, so make the appropriate change here, too. Cc: Benjamin LaHaise <bcrl@kvack.org> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> --- net/ipv4/arp.c | 2 ++ net/ipv6/ndisc.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-)