summaryrefslogtreecommitdiff
path: root/sys/net/if_vlan.c
diff options
context:
space:
mode:
authorBill Fenner <fenner@FreeBSD.org>2003-01-22 23:30:26 +0000
committerBill Fenner <fenner@FreeBSD.org>2003-01-22 23:30:26 +0000
commitb3cca1086473ffce01d1e2ad7706c65154a9c4fc (patch)
treee76e71f4724d7febfcc2686ab05a4de20224e4d8 /sys/net/if_vlan.c
parent19ad2450428cc91d6d4ef2737382c72e32eb95a6 (diff)
downloadsrc-test2-b3cca1086473ffce01d1e2ad7706c65154a9c4fc.tar.gz
src-test2-b3cca1086473ffce01d1e2ad7706c65154a9c4fc.zip
Notes
Diffstat (limited to 'sys/net/if_vlan.c')
-rw-r--r--sys/net/if_vlan.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index 56712924f4b3..421a8b571a3f 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -679,6 +679,29 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
break;
+ case SIOCGIFMEDIA:
+ if (ifv->ifv_p != NULL) {
+ error = (ifv->ifv_p->if_ioctl)(ifv->ifv_p, SIOCGIFMEDIA, data);
+ /* Limit the result to the parent's current config. */
+ if (error == 0) {
+ struct ifmediareq *ifmr;
+
+ ifmr = (struct ifmediareq *) data;
+ if (ifmr->ifm_count >= 1 && ifmr->ifm_ulist) {
+ ifmr->ifm_count = 1;
+ error = copyout(&ifmr->ifm_current,
+ ifmr->ifm_ulist,
+ sizeof(int));
+ }
+ }
+ } else
+ error = EINVAL;
+ break;
+
+ case SIOCSIFMEDIA:
+ error = EINVAL;
+ break;
+
case SIOCSIFMTU:
/*
* Set the interface MTU.