|
@@ -144,6 +144,8 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
|
|
|
if (!(iph->frag_off&htons(IP_MF|IP_OFFSET)) &&
|
|
|
(iph->protocol == IPPROTO_TCP ||
|
|
|
iph->protocol == IPPROTO_UDP ||
|
|
|
+ iph->protocol == IPPROTO_SCTP ||
|
|
|
+ iph->protocol == IPPROTO_DCCP ||
|
|
|
iph->protocol == IPPROTO_ESP))
|
|
|
h2 ^= *(((u32*)iph) + iph->ihl);
|
|
|
break;
|
|
@@ -155,6 +157,8 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
|
|
|
h2 = iph->saddr.s6_addr32[3]^iph->nexthdr;
|
|
|
if (iph->nexthdr == IPPROTO_TCP ||
|
|
|
iph->nexthdr == IPPROTO_UDP ||
|
|
|
+ iph->nexthdr == IPPROTO_SCTP ||
|
|
|
+ iph->nexthdr == IPPROTO_DCCP ||
|
|
|
iph->nexthdr == IPPROTO_ESP)
|
|
|
h2 ^= *(u32*)&iph[1];
|
|
|
break;
|