aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorChangli Gao <xiaosuo@gmail.com>2011-08-19 02:23:47 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-19 02:23:47 -0400
commitae1511bf769cafeae5ab61aaf9947a16a22cbd10 (patch)
tree07589e499a3252700451a7611aff6cd6fc16ecad /net/core
parent1ff1986fc94ee711df3cf19d45f2abf351436a6d (diff)
net: rps: support PPPOE session messages
Inspect the payload of PPPOE session messages for the 4 tuples to generate skb->rxhash. Signed-off-by: Changli Gao <xiaosuo@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index be7ee506f17a..c2442b46646e 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -134,6 +134,7 @@
134#include <linux/inetdevice.h> 134#include <linux/inetdevice.h>
135#include <linux/cpu_rmap.h> 135#include <linux/cpu_rmap.h>
136#include <linux/if_tunnel.h> 136#include <linux/if_tunnel.h>
137#include <linux/if_pppox.h>
137 138
138#include "net-sysfs.h" 139#include "net-sysfs.h"
139 140
@@ -2573,6 +2574,13 @@ again:
2573 proto = vlan->h_vlan_encapsulated_proto; 2574 proto = vlan->h_vlan_encapsulated_proto;
2574 nhoff += sizeof(*vlan); 2575 nhoff += sizeof(*vlan);
2575 goto again; 2576 goto again;
2577 case __constant_htons(ETH_P_PPP_SES):
2578 if (!pskb_may_pull(skb, PPPOE_SES_HLEN + nhoff))
2579 goto done;
2580 proto = *((__be16 *) (skb->data + nhoff +
2581 sizeof(struct pppoe_hdr)));
2582 nhoff += PPPOE_SES_HLEN;
2583 goto again;
2576 default: 2584 default:
2577 goto done; 2585 goto done;
2578 } 2586 }