summaryrefslogtreecommitdiffstats
path: root/sbin/ifconfig
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2013-10-19 09:59:11 +0000
committerdes <des@FreeBSD.org>2013-10-19 09:59:11 +0000
commite5db34a2652155343d47095d0f8eadf83c2ff758 (patch)
tree922be1e559152c7c41543d0fa4cae1fc1aaed138 /sbin/ifconfig
parente138182383deacb54e37c154e3a7631d0e021275 (diff)
downloadFreeBSD-src-e5db34a2652155343d47095d0f8eadf83c2ff758.zip
FreeBSD-src-e5db34a2652155343d47095d0f8eadf83c2ff758.tar.gz
Do not error out when adding an interface to a group to which it
already belongs or removing it from a group to which it does not belong. This makes it possible to include group memberships in ifconfig_foo0 in rc.conf without fear of breaking "service netif restart foo0". MFC after: 3 days
Diffstat (limited to 'sbin/ifconfig')
-rw-r--r--sbin/ifconfig/ifgroup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/ifconfig/ifgroup.c b/sbin/ifconfig/ifgroup.c
index 9eaac3b..f8b18b4 100644
--- a/sbin/ifconfig/ifgroup.c
+++ b/sbin/ifconfig/ifgroup.c
@@ -57,7 +57,7 @@ setifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
errx(1, "setifgroup: group name too long");
- if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1)
+ if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1 && errno != EEXIST)
err(1," SIOCAIFGROUP");
}
@@ -75,7 +75,7 @@ unsetifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
errx(1, "unsetifgroup: group name too long");
- if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1)
+ if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1 && errno != ENOENT)
err(1, "SIOCDIFGROUP");
}
OpenPOWER on IntegriCloud