diff --git a/sys/net/if.c b/sys/net/if.c index 712cd13..e6b8e82 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2055,6 +2055,11 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) ifr->ifr_curcap = ifp->if_capenable; break; + case SIOCGIFDATA: + error = copyout((caddr_t)&ifp->if_data, ifr->ifr_data, + sizeof(ifp->if_data)); + break; + #ifdef MAC case SIOCGIFMAC: error = mac_ifnet_ioctl_get(td->td_ucred, ifr, ifp); diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h index df0d4b2..87094a0 100644 --- a/sys/sys/sockio.h +++ b/sys/sys/sockio.h @@ -113,6 +113,8 @@ #define SIOCGIFFIB _IOWR('i', 92, struct ifreq) /* get IF fib */ #define SIOCSIFFIB _IOW('i', 93, struct ifreq) /* set IF fib */ +#define SIOCGIFDATA _IOWR('i', 94, struct ifreq) /* get if_data */ + #define SIOCSDRVSPEC _IOW('i', 123, struct ifdrv) /* set driver-specific parameters */ #define SIOCGDRVSPEC _IOWR('i', 123, struct ifdrv) /* get driver-specific