tunnel4: add cb_handler to struct xfrm_tunnel
authorXin Long <lucien.xin@gmail.com>
Mon, 6 Jul 2020 12:01:30 +0000 (20:01 +0800)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 9 Jul 2020 10:51:36 +0000 (12:51 +0200)
commit6df2db5d37ba3df8c80d90c15f1e20480be43f75
treec3e7531b03e68b1033ad9194332c8077c829003f
parent1475ee0ac9a16dd5df23ca8abe1039eb6086eb66
tunnel4: add cb_handler to struct xfrm_tunnel

This patch is to register a callback function tunnel4_rcv_cb with
is_ipip set in a xfrm_input_afinfo object for tunnel4 and tunnel64.

It will be called by xfrm_rcv_cb() from xfrm_input() when family
is AF_INET and proto is IPPROTO_IPIP or IPPROTO_IPV6.

v1->v2:
  - Fix a sparse warning caused by the missing "__rcu", as Jakub
    noticed.
  - Handle the err returned by xfrm_input_register_afinfo() in
    tunnel4_init/fini(), as Sabrina noticed.
v2->v3:
  - Add "#if IS_ENABLED(CONFIG_INET_XFRM_TUNNEL)" to fix the build error
    when xfrm is disabled, reported by kbuild test robot.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/xfrm.h
net/ipv4/tunnel4.c