Skip to content

Commit

Permalink
ip6_vti: support IP6IP tunnel processing
Browse files Browse the repository at this point in the history
For IP6IP tunnel processing, the functions called will be the
same as that for IP6IP6 tunnel's. So reuse it and register it
with family == AF_INET.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
  • Loading branch information
Xin Long authored and Steffen Klassert committed Jul 9, 2020
1 parent 0862286 commit 2ab110c
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions net/ipv6/ip6_vti.c
Original file line number Diff line number Diff line change
Expand Up @@ -1267,7 +1267,10 @@ static int __init vti6_tunnel_init(void)
msg = "ipv6 tunnel";
err = xfrm6_tunnel_register(&vti_ipv6_handler, AF_INET6);
if (err < 0)
goto vti_tunnel_failed;
goto vti_tunnel_ipv6_failed;
err = xfrm6_tunnel_register(&vti_ipv6_handler, AF_INET);
if (err < 0)
goto vti_tunnel_ip6ip_failed;
#endif

msg = "netlink interface";
Expand All @@ -1279,8 +1282,10 @@ static int __init vti6_tunnel_init(void)

rtnl_link_failed:
#if IS_ENABLED(CONFIG_INET6_XFRM_TUNNEL)
err = xfrm6_tunnel_deregister(&vti_ipv6_handler, AF_INET);
vti_tunnel_ip6ip_failed:
err = xfrm6_tunnel_deregister(&vti_ipv6_handler, AF_INET6);
vti_tunnel_failed:
vti_tunnel_ipv6_failed:
#endif
xfrm6_protocol_deregister(&vti_ipcomp6_protocol, IPPROTO_COMP);
xfrm_proto_comp_failed:
Expand All @@ -1301,6 +1306,7 @@ static void __exit vti6_tunnel_cleanup(void)
{
rtnl_link_unregister(&vti6_link_ops);
#if IS_ENABLED(CONFIG_INET6_XFRM_TUNNEL)
xfrm6_tunnel_deregister(&vti_ipv6_handler, AF_INET);
xfrm6_tunnel_deregister(&vti_ipv6_handler, AF_INET6);
#endif
xfrm6_protocol_deregister(&vti_ipcomp6_protocol, IPPROTO_COMP);
Expand Down

0 comments on commit 2ab110c

Please sign in to comment.