rps: Infrastructure in __skb_get_rxhash for deep inspection

Basics for looking for ports in encapsulated packets in tunnels.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Tom Herbert 2011-08-14 19:46:12 +00:00 коммит произвёл David S. Miller
Родитель bdeab99191
Коммит e971b7225b
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -133,6 +133,7 @@
#include <linux/pci.h>
#include <linux/inetdevice.h>
#include <linux/cpu_rmap.h>
#include <linux/if_tunnel.h>
#include "net-sysfs.h"
@ -2539,6 +2540,7 @@ void __skb_get_rxhash(struct sk_buff *skb)
nhoff = skb_network_offset(skb);
proto = skb->protocol;
again:
switch (proto) {
case __constant_htons(ETH_P_IP):
if (!pskb_may_pull(skb, sizeof(*ip) + nhoff))
@ -2567,6 +2569,11 @@ void __skb_get_rxhash(struct sk_buff *skb)
goto done;
}
switch (ip_proto) {
default:
break;
}
ports.v32 = 0;
poff = proto_ports_offset(ip_proto);
if (poff >= 0) {