Message ID | ac09d0f99a9f7ba1bdfa933eb5fc08740dd0346c.1611637639.git.lucien.xin@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: enable udp v6 sockets receiving v4 packets with UDP GRO | expand |
diff --git a/net/rxrpc/local_object.c b/net/rxrpc/local_object.c index 8c28810..93e05d2 100644 --- a/net/rxrpc/local_object.c +++ b/net/rxrpc/local_object.c @@ -135,11 +135,7 @@ static int rxrpc_open_socket(struct rxrpc_local *local, struct net *net) udp_sk(usk)->gro_receive = NULL; udp_sk(usk)->gro_complete = NULL; - udp_encap_enable(); -#if IS_ENABLED(CONFIG_AF_RXRPC_IPV6) - if (local->srx.transport.family == AF_INET6) - udpv6_encap_enable(); -#endif + udp_tunnel_encap_enable(local->socket); usk->sk_error_report = rxrpc_error_report; /* if a local address was supplied then bind it */
When doing encap_enable/increasing encap_needed_key, up->encap_enabled is not set in rxrpc_open_socket(), and it will cause encap_needed_key not being decreased in udpv6_destroy_sock(). This patch is to improve it by just calling udp_tunnel_encap_enable() where it increases both UDP and UDPv6 encap_needed_key and sets up->encap_enabled. Signed-off-by: Xin Long <lucien.xin@gmail.com> --- net/rxrpc/local_object.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)