summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndré Valentin <avalentin@marcant.net>2019-06-14 13:09:45 +0200
committerHans Dedecker <dedeckeh@gmail.com>2019-06-14 21:25:12 +0200
commit9932ed0220e7634d085a32cfd72fd3e25e1a1745 (patch)
tree17cad95a919b3fc45d2e3a3384d5589f07a6a81e
parent42a38785f1d229483c68ac22e1707be57e8fe60e (diff)
netifd: fix xfrm interface deletion and standardize netlink call
-xfrm interfaces were deleted before -use standard parameters for xfrm interface created Signed-off-by: André Valentin <avalentin@marcant.net>
-rw-r--r--system-linux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/system-linux.c b/system-linux.c
index 6e5ca28..f63aeb2 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -2883,7 +2883,7 @@ static int system_add_xfrm_tunnel(const char *name, const char *kind,
struct blob_attr *cur;
int ret = 0;
- nlm = nlmsg_alloc_simple(RTM_NEWLINK, NLM_F_REQUEST | NLM_F_ACK | NLM_F_CREATE | NLM_F_EXCL);
+ nlm = nlmsg_alloc_simple(RTM_NEWLINK, NLM_F_REQUEST | NLM_F_REPLACE | NLM_F_CREATE);
if (!nlm)
return -1;
@@ -3216,7 +3216,8 @@ static int __system_del_ip_tunnel(const char *name, struct blob_attr **tb)
if (!strcmp(str, "greip") || !strcmp(str, "gretapip") ||
!strcmp(str, "greip6") || !strcmp(str, "gretapip6") ||
!strcmp(str, "vtiip") || !strcmp(str, "vtiip6") ||
- !strcmp(str, "vxlan") || !strcmp(str, "vxlan6"))
+ !strcmp(str, "vxlan") || !strcmp(str, "vxlan6") ||
+ !strcmp(str, "xfrm"))
return system_link_del(name);
else
return tunnel_ioctl(name, SIOCDELTUNNEL, NULL);