summaryrefslogtreecommitdiff
path: root/usr/src/lib/libipadm
diff options
context:
space:
mode:
authorRyan Goodfellow <ryan.goodfellow@oxide.computer>2022-06-09 07:52:45 -0700
committerJoshua M. Clulow <josh@sysmgr.org>2022-06-09 07:52:45 -0700
commit2514b110a74b7a0ce021feff362fe3c4c2352b43 (patch)
treec64cde52100ce37fc6b4d94afd76c4717b9b09cd /usr/src/lib/libipadm
parent7a15b0ec33c685e4e6b096454b077a52604acf9b (diff)
downloadillumos-joyent-2514b110a74b7a0ce021feff362fe3c4c2352b43.tar.gz
14724 failed delete of IP address made it undeletable
Reviewed by: Andy Fiddaman <andy@omnios.org> Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com> Reviewed by: Robert Mustacchi <rm@fingolfin.org> Approved by: Joshua M. Clulow <josh@sysmgr.org>
Diffstat (limited to 'usr/src/lib/libipadm')
-rw-r--r--usr/src/lib/libipadm/common/ipadm_ndpd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr/src/lib/libipadm/common/ipadm_ndpd.c b/usr/src/lib/libipadm/common/ipadm_ndpd.c
index 29ea8ccf51..95e6df2d0a 100644
--- a/usr/src/lib/libipadm/common/ipadm_ndpd.c
+++ b/usr/src/lib/libipadm/common/ipadm_ndpd.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
+ * Copyright 2022 Oxide Computer Company
*/
/*
@@ -129,8 +130,12 @@ i_ipadm_delete_ipv6addrs(ipadm_handle_t iph, ipadm_addrobj_t ipaddr)
*/
status = i_ipadm_send_ndpd_cmd(ipaddr->ipadm_ifname, ipaddr,
IPADM_DELETE_ADDRS);
- if (status == IPADM_NDPD_NOT_RUNNING)
+
+ /* if the entry is not found, or ndpd is not running, just carry on */
+ if (status == IPADM_NDPD_NOT_RUNNING || status == IPADM_ENXIO ||
+ status == IPADM_NOTFOUND)
status = IPADM_SUCCESS;
+
if (status == IPADM_SUCCESS)
status = i_ipadm_delete_addr(iph, ipaddr);