summaryrefslogtreecommitdiffstats
path: root/include/net/xfrm.h
diff options
context:
space:
mode:
authorAntony Antony <antony@phenome.org>2017-06-06 12:12:13 +0200
committerSteffen Klassert <steffen.klassert@secunet.com>2017-06-07 08:25:58 +0200
commit4ab47d47af20addd6ecee1ece0205b1fbf483942 (patch)
tree7159ac7737efd4cc51aa11ed14c99fffa7e188bb /include/net/xfrm.h
parentd49c9dc1c84878b0c044af7519a80ccb814b3f9f (diff)
downloadlinux-stable-4ab47d47af20addd6ecee1ece0205b1fbf483942.tar.gz
linux-stable-4ab47d47af20addd6ecee1ece0205b1fbf483942.tar.bz2
linux-stable-4ab47d47af20addd6ecee1ece0205b1fbf483942.zip
xfrm: extend MIGRATE with UDP encapsulation port
Add UDP encapsulation port to XFRM_MSG_MIGRATE using an optional netlink attribute XFRMA_ENCAP. The devices that support IKE MOBIKE extension (RFC-4555 Section 3.8) could go to sleep for a few minutes and wake up. When it wake up the NAT mapping could have expired, the device send a MOBIKE UPDATE_SA message to migrate the IPsec SA. The change could be a change UDP encapsulation port, IP address, or both. Reported-by: Paul Wouters <pwouters@redhat.com> Signed-off-by: Antony Antony <antony@phenome.org> Reviewed-by: Richard Guy Briggs <rgb@tricolour.ca> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'include/net/xfrm.h')
-rw-r--r--include/net/xfrm.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 6793a30c66b1..1cc71726e581 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -1688,10 +1688,12 @@ int km_migrate(const struct xfrm_selector *sel, u8 dir, u8 type,
const struct xfrm_kmaddress *k);
struct xfrm_state *xfrm_migrate_state_find(struct xfrm_migrate *m, struct net *net);
struct xfrm_state *xfrm_state_migrate(struct xfrm_state *x,
- struct xfrm_migrate *m);
+ struct xfrm_migrate *m,
+ struct xfrm_encap_tmpl *encap);
int xfrm_migrate(const struct xfrm_selector *sel, u8 dir, u8 type,
struct xfrm_migrate *m, int num_bundles,
- struct xfrm_kmaddress *k, struct net *net);
+ struct xfrm_kmaddress *k, struct net *net,
+ struct xfrm_encap_tmpl *encap);
#endif
int km_new_mapping(struct xfrm_state *x, xfrm_address_t *ipaddr, __be16 sport);