summaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2005-08-25 05:01:24 +0000
committerRobert Watson <rwatson@FreeBSD.org>2005-08-25 05:01:24 +0000
commita4a8a0bc4b3a0a932b574e32955bb582ad954f27 (patch)
tree6f867a0a960e0fd2203dc6ea98d72ee7517f87ed /sys/compat
parent1fd4ce4b9d36036231eff64ca2a05996c889715e (diff)
Notes
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/linux/linux_ioctl.c4
-rw-r--r--sys/compat/svr4/svr4_sockio.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c
index ce3b51f8d09f..8cfd3d280b15 100644
--- a/sys/compat/linux/linux_ioctl.c
+++ b/sys/compat/linux/linux_ioctl.c
@@ -2212,9 +2212,9 @@ linux_gifflags(struct thread *td, struct ifnet *ifp, struct l_ifreq *ifr)
{
l_short flags;
- flags = ifp->if_flags & 0xffff;
+ flags = (ifp->if_flags | ifp->if_drv_flags) & 0xffff;
/* these flags have no Linux equivalent */
- flags &= ~(IFF_SMART|IFF_OACTIVE|IFF_SIMPLEX|
+ flags &= ~(IFF_SMART|IFF_DRV_OACTIVE|IFF_SIMPLEX|
IFF_LINK0|IFF_LINK1|IFF_LINK2);
/* Linux' multicast flag is in a different bit */
if (flags & IFF_MULTICAST) {
diff --git a/sys/compat/svr4/svr4_sockio.c b/sys/compat/svr4/svr4_sockio.c
index 9eee1567ed6d..7468c544d195 100644
--- a/sys/compat/svr4/svr4_sockio.c
+++ b/sys/compat/svr4/svr4_sockio.c
@@ -62,7 +62,8 @@ bsd_to_svr4_flags(bf)
#if defined(IFF_NOTRAILERS)
bsd_to_svr4_flag(FF_NOTRAILERS);
#endif
- bsd_to_svr4_flag(FF_RUNNING);
+ if (bf & IFF_DRV_RUNNING)
+ sf |= SVR4_IFF_RUNNING;
bsd_to_svr4_flag(FF_NOARP);
bsd_to_svr4_flag(FF_PROMISC);
bsd_to_svr4_flag(FF_ALLMULTI);