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:
Родитель
bdeab99191
Коммит
e971b7225b
|
@ -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) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче