Commit 18f22fbb authored by Linus Torvalds's avatar Linus Torvalds
parents 72d31053 ad55dcaf
...@@ -122,6 +122,7 @@ ...@@ -122,6 +122,7 @@
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/ip.h> #include <linux/ip.h>
#include <net/ip.h>
#include <linux/ipv6.h> #include <linux/ipv6.h>
#include <linux/in.h> #include <linux/in.h>
#include <linux/jhash.h> #include <linux/jhash.h>
...@@ -1667,7 +1668,7 @@ static u16 simple_tx_hash(struct net_device *dev, struct sk_buff *skb) ...@@ -1667,7 +1668,7 @@ static u16 simple_tx_hash(struct net_device *dev, struct sk_buff *skb)
{ {
u32 addr1, addr2, ports; u32 addr1, addr2, ports;
u32 hash, ihl; u32 hash, ihl;
u8 ip_proto; u8 ip_proto = 0;
if (unlikely(!simple_tx_hashrnd_initialized)) { if (unlikely(!simple_tx_hashrnd_initialized)) {
get_random_bytes(&simple_tx_hashrnd, 4); get_random_bytes(&simple_tx_hashrnd, 4);
...@@ -1676,7 +1677,8 @@ static u16 simple_tx_hash(struct net_device *dev, struct sk_buff *skb) ...@@ -1676,7 +1677,8 @@ static u16 simple_tx_hash(struct net_device *dev, struct sk_buff *skb)
switch (skb->protocol) { switch (skb->protocol) {
case __constant_htons(ETH_P_IP): case __constant_htons(ETH_P_IP):
ip_proto = ip_hdr(skb)->protocol; if (!(ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)))
ip_proto = ip_hdr(skb)->protocol;
addr1 = ip_hdr(skb)->saddr; addr1 = ip_hdr(skb)->saddr;
addr2 = ip_hdr(skb)->daddr; addr2 = ip_hdr(skb)->daddr;
ihl = ip_hdr(skb)->ihl; ihl = ip_hdr(skb)->ihl;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment