mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 23:54:04 +08:00
sctp: fix GSO for IPv6
commit90017accff
("sctp: Add GSO support") didn't register SCTP GSO offloading for IPv6 and yet didn't put any restrictions on generating GSO packets while in IPv6, which causes all IPv6 GSO'ed packets to be silently dropped. The fix is to properly register the offload this time. Fixes:90017accff
("sctp: Add GSO support") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e5b13f3444
commit
c5c4e45c4b
@ -92,7 +92,28 @@ static const struct net_offload sctp_offload = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct net_offload sctp6_offload = {
|
||||
.callbacks = {
|
||||
.gso_segment = sctp_gso_segment,
|
||||
},
|
||||
};
|
||||
|
||||
int __init sctp_offload_init(void)
|
||||
{
|
||||
return inet_add_offload(&sctp_offload, IPPROTO_SCTP);
|
||||
int ret;
|
||||
|
||||
ret = inet_add_offload(&sctp_offload, IPPROTO_SCTP);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
ret = inet6_add_offload(&sctp6_offload, IPPROTO_SCTP);
|
||||
if (ret)
|
||||
goto ipv4;
|
||||
|
||||
return ret;
|
||||
|
||||
ipv4:
|
||||
inet_del_offload(&sctp_offload, IPPROTO_SCTP);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user