Page MenuHomeFreeBSD

D38873.diff
No OneTemporary

D38873.diff

diff --git a/sys/compat/linux/linux.c b/sys/compat/linux/linux.c
--- a/sys/compat/linux/linux.c
+++ b/sys/compat/linux/linux.c
@@ -434,10 +434,17 @@
unsigned short
linux_ifflags(struct ifnet *ifp)
{
- unsigned short fl, flags;
+ unsigned short flags;
+
+ flags = if_getflags(ifp) | if_getdrvflags(ifp);
+ return (bsd_to_linux_ifflags(flags));
+}
+
+unsigned short
+bsd_to_linux_ifflags(int fl)
+{
+ unsigned short flags = 0;
- fl = (if_getflags(ifp) | if_getdrvflags(ifp)) & 0xffff;
- flags = 0;
if (fl & IFF_UP)
flags |= LINUX_IFF_UP;
if (fl & IFF_BROADCAST)
diff --git a/sys/compat/linux/linux_common.h b/sys/compat/linux/linux_common.h
--- a/sys/compat/linux/linux_common.h
+++ b/sys/compat/linux/linux_common.h
@@ -39,6 +39,7 @@
unsigned short linux_ifflags(struct ifnet *);
int linux_ifhwaddr(struct ifnet *ifp, struct l_sockaddr *lsa);
+unsigned short bsd_to_linux_ifflags(int);
int linux_to_bsd_domain(int domain);
int bsd_to_linux_domain(int domain);
int bsd_to_linux_sockaddr(const struct sockaddr *sa,

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 16, 11:26 PM (1 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28793427
Default Alt Text
D38873.diff (1 KB)

Event Timeline