summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2011-12-21 12:39:08 +0000
committerglebius <glebius@FreeBSD.org>2011-12-21 12:39:08 +0000
commit653f8c5e7181f0fd06ea5451ebb67351c2dd5626 (patch)
tree96279cd42bceb4e7d71094c239ecf1b647e643e6 /sys/netinet6/in6.c
parent8451340f0023a2f549ad478e31b8cdeaeeac1096 (diff)
downloadFreeBSD-src-653f8c5e7181f0fd06ea5451ebb67351c2dd5626.zip
FreeBSD-src-653f8c5e7181f0fd06ea5451ebb67351c2dd5626.tar.gz
Provide ABI compatibility shim to enable configuring of addresses
with ifconfig(8) prior to r228571. Requested by: brooks
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r--sys/netinet6/in6.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index ef22f03..4fb588e 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -275,6 +275,13 @@ in6_control(struct socket *so, u_long cmd, caddr_t data,
struct sockaddr_in6 *sa6;
int carp_attached = 0;
int error;
+ u_long ocmd = cmd;
+
+ /*
+ * Compat to make pre-10.x ifconfig(8) operable.
+ */
+ if (cmd == OSIOCAIFADDR_IN6)
+ cmd = SIOCAIFADDR_IN6;
switch (cmd) {
case SIOCGETSGCNT_IN6:
@@ -654,7 +661,7 @@ in6_control(struct socket *so, u_long cmd, caddr_t data,
break;
}
- if (ifra->ifra_vhid > 0) {
+ if (cmd == ocmd && ifra->ifra_vhid > 0) {
if (carp_attach_p != NULL)
error = (*carp_attach_p)(&ia->ia_ifa,
ifra->ifra_vhid);
OpenPOWER on IntegriCloud