$OpenBSD$

From upstream commit 10030f694cc76f06b16ca8d070d187e693641af3
"autoconfprivacy is now default"

--- conf.c.orig	Sat Sep 15 05:04:54 2012
+++ conf.c	Sat Sep 15 05:07:13 2012
@@ -57,7 +57,7 @@ void conf_interfaces(FILE *, char *);
 void conf_print_rtm(FILE *, struct rt_msghdr *, char *, int);
 int conf_ifaddrs(FILE *, char *, int);
 void conf_brcfg(FILE *, int, struct if_nameindex *, char *);
-void conf_mpls(FILE *, int, char *);
+void conf_ifxflags(FILE *, int, char *);
 void conf_rdomain(FILE *, int, char *);
 void conf_ifmetrics(FILE *, int, struct if_data, char *);
 void conf_pflow(FILE *, int, char *);
@@ -490,7 +490,7 @@ void conf_interfaces(FILE *output, char *only)
 			conf_carp(output, ifs, ifnp->if_name);
 			conf_trunk(output, ifs, ifnp->if_name);
 			conf_pflow(output, ifs, ifnp->if_name);
-			conf_mpls(output, ifs, ifnp->if_name);
+			conf_ifxflags(output, ifs, ifnp->if_name);
 			if (timeslot_status(ifs, ifnp->if_name, tmp,
 			    sizeof(tmp)) == 1) 
 				fprintf(output, " timeslots %s\n", tmp);
@@ -569,7 +569,7 @@ void conf_pflow(FILE *output, int ifs, char *ifname)
 	fprintf(output, "\n");
 }
 
-void conf_mpls(FILE *output, int ifs, char *ifname)
+void conf_ifxflags(FILE *output, int ifs, char *ifname)
 {
 	struct ifreq ifr;
 	struct shim_hdr shim;
@@ -577,10 +577,17 @@ void conf_mpls(FILE *output, int ifs, char *ifname)
 	bzero(&ifr, sizeof(ifr));
 	strlcpy(ifr.ifr_name, ifname, IFNAMSIZ);
 
-	/* set mpls mode for eth interfaces */
-	if (ioctl(ifs, SIOCGIFXFLAGS, (caddr_t)&ifr) != -1)
+	if (ioctl(ifs, SIOCGIFXFLAGS, (caddr_t)&ifr) != -1) {
+		/* set mpls mode for eth interfaces */
 		if (ifr.ifr_flags & IFXF_MPLS)
 			fprintf(output, " mpls\n");
+		if (ifr.ifr_flags & IFXF_NOINET6)
+			fprintf(output, " no inet6\n");
+		if (ifr.ifr_flags & IFXF_INET6_NOPRIVACY)
+			fprintf(output, " no autoconfprivacy\n");
+		if (ifr.ifr_flags & IFXF_WOL)
+			fprintf(output, " wol\n");
+	}
 
 	bzero(&shim, sizeof(shim));
 	ifr.ifr_data = (caddr_t)&shim;
