Skip to content

Commit

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

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 87e66b9 commit e6ce645
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions net/ipv4/ip_vti.c
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,12 @@ static int __init vti_init(void)
msg = "ipip tunnel";
err = xfrm4_tunnel_register(&vti_ipip_handler, AF_INET);
if (err < 0)
goto xfrm_tunnel_failed;
goto xfrm_tunnel_ipip_failed;
#if IS_ENABLED(CONFIG_IPV6)
err = xfrm4_tunnel_register(&vti_ipip_handler, AF_INET6);
if (err < 0)
goto xfrm_tunnel_ipip6_failed;
#endif
#endif

msg = "netlink interface";
Expand All @@ -670,8 +675,12 @@ static int __init vti_init(void)

rtnl_link_failed:
#if IS_ENABLED(CONFIG_INET_XFRM_TUNNEL)
#if IS_ENABLED(CONFIG_IPV6)
xfrm4_tunnel_deregister(&vti_ipip_handler, AF_INET6);
xfrm_tunnel_ipip6_failed:
#endif
xfrm4_tunnel_deregister(&vti_ipip_handler, AF_INET);
xfrm_tunnel_failed:
xfrm_tunnel_ipip_failed:
#endif
xfrm4_protocol_deregister(&vti_ipcomp4_protocol, IPPROTO_COMP);
xfrm_proto_comp_failed:
Expand All @@ -689,6 +698,9 @@ static void __exit vti_fini(void)
{
rtnl_link_unregister(&vti_link_ops);
#if IS_ENABLED(CONFIG_INET_XFRM_TUNNEL)
#if IS_ENABLED(CONFIG_IPV6)
xfrm4_tunnel_deregister(&vti_ipip_handler, AF_INET6);
#endif
xfrm4_tunnel_deregister(&vti_ipip_handler, AF_INET);
#endif
xfrm4_protocol_deregister(&vti_ipcomp4_protocol, IPPROTO_COMP);
Expand Down

0 comments on commit e6ce645

Please sign in to comment.