forked from luck/tmp_suning_uos_patched
Staging: sxg: Use correct queue_id for transmitting non-TCP packets
Use correct queue_id while transmitting non-TCP packets. They should always use queue 0. Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com> Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
This commit is contained in:
parent
1f895130c0
commit
8d17e6ad81
@ -2615,7 +2615,9 @@ static int sxg_dumb_sgl(struct sxg_x64_sgl *pSgl,
|
|||||||
struct iphdr *ip;
|
struct iphdr *ip;
|
||||||
|
|
||||||
ip = ip_hdr(skb);
|
ip = ip_hdr(skb);
|
||||||
if ((ip->protocol == IPPROTO_TCP)&&(DataLength >= sizeof(
|
if (ip->protocol != IPPROTO_TCP || !tcp_hdr(skb))
|
||||||
|
queue_id = 0;
|
||||||
|
else if ((ip->protocol == IPPROTO_TCP)&&(DataLength >= sizeof(
|
||||||
struct tcphdr))){
|
struct tcphdr))){
|
||||||
queue_id = ((ntohs(tcp_hdr(skb)->dest) == ISCSI_PORT) ?
|
queue_id = ((ntohs(tcp_hdr(skb)->dest) == ISCSI_PORT) ?
|
||||||
(ntohs (tcp_hdr(skb)->source) &
|
(ntohs (tcp_hdr(skb)->source) &
|
||||||
@ -2624,8 +2626,10 @@ static int sxg_dumb_sgl(struct sxg_x64_sgl *pSgl,
|
|||||||
SXG_LARGE_SEND_QUEUE_MASK));
|
SXG_LARGE_SEND_QUEUE_MASK));
|
||||||
}
|
}
|
||||||
} else if (skb->protocol == htons(ETH_P_IPV6)) {
|
} else if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||||
if ((ipv6_hdr(skb)->nexthdr == IPPROTO_TCP) && (DataLength >=
|
if (ipv6_hdr(skb)->nexthdr != IPPROTO_TCP || !tcp_hdr(skb))
|
||||||
sizeof(struct tcphdr)) ) {
|
queue_id = 0;
|
||||||
|
else if ((ipv6_hdr(skb)->nexthdr == IPPROTO_TCP) && (DataLength
|
||||||
|
>= sizeof(struct tcphdr)) ) {
|
||||||
queue_id = ((ntohs(tcp_hdr(skb)->dest) == ISCSI_PORT) ?
|
queue_id = ((ntohs(tcp_hdr(skb)->dest) == ISCSI_PORT) ?
|
||||||
(ntohs (tcp_hdr(skb)->source) &
|
(ntohs (tcp_hdr(skb)->source) &
|
||||||
SXG_LARGE_SEND_QUEUE_MASK):
|
SXG_LARGE_SEND_QUEUE_MASK):
|
||||||
|
Loading…
Reference in New Issue
Block a user