<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Ed,</div><div><br></div><div>applied the patch with minor modifications, thanks!</div><div><br></div><div>Regards,</div><div>Alexander Eichner</div><br><div><div>On 30.08.2012 23:23, Ed Maste wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I have an application that issues SIOCGIFMEDIA to check interface media<br>status, and logs an error when that fails on a vboxnet interface.<br><br>This change is based on the same support added to FreeBSD's if_tap<br>interface in SVN r238183, which is in turn based on DragonFly BSD commit<br>70d9a675bf5441cc854a843ead702d08928c37f3.  Sponsored by ADARA Networks.<br><br>Ideally status would report 'active' only when a VM is attached to the<br>host-only interface, but I don't see a straightforward way to do so with<br>the decoupling between VBoxNetFlt and VBoxNetAdp -- so consider this a<br>query for further information on this point as well.  As it stands it<br>reports 'active' always.<br><br>Patch released under the MIT license.<br><br>diff --git a/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c b/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c<br>index 1b65cc4..42cdd3e 100644<br>--- a/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c<br>+++ b/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c<br>@@ -48,6 +48,7 @@<br> #include <net/if_var.h><br> #include <net/route.h><br> #include <net/if_dl.h><br>+#include <net/if_media.h><br> #include <net/if_types.h><br> #include <net/ethernet.h><br> #include <net/bpf.h><br>@@ -246,6 +247,10 @@ static void VBoxNetAdpFreeBSDNetstart(struct ifnet *ifp)<br>  */<br> static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp, u_long cmd, caddr_t data)<br> {<br>+    struct ifmediareq *ifmr;<br>+    int count;<br>+    int error = 0;<br>+<br>     switch (cmd)<br>     {<br>         case SIOCSIFFLAGS:<br>@@ -260,10 +265,23 @@ static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp, u_long cmd, caddr_t data<br>                     ifp->if_drv_flags &= ~IFF_DRV_RUNNING;<br>             }<br>             break;<br>+        case SIOCGIFMEDIA:<br>+            ifmr = (struct ifmediareq *)data;<br>+            count = ifmr->ifm_count;<br>+            ifmr->ifm_count = 1;<br>+            ifmr->ifm_status = IFM_AVALID;<br>+            ifmr->ifm_active = IFM_ETHER;<br>+            ifmr->ifm_status |= IFM_ACTIVE;<br>+            ifmr->ifm_current = ifmr->ifm_active;<br>+            if (count >= 1) {<br>+                int media = IFM_ETHER;<br>+                error = copyout(&media, ifmr->ifm_ulist, sizeof(int));<br>+            }<br>+            break;<br>         default:<br>             return ether_ioctl(ifp, cmd, data);<br>     }<br>-    return 0;<br>+    return error;<br> }<br><br> int vboxNetAdpOsInit(PVBOXNETADP pThis)<br><br><br>_______________________________________________<br>vbox-dev mailing list<br><a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a><br><a href="https://www.virtualbox.org/mailman/listinfo/vbox-dev">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a><br></div></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">ORACLE Deutschland B.V. & Co. KG   Alexander Eichner<br>Werkstrasse 24                     Engineer, VirtualBox<br>71384 Weinstadt, Germany           <a href="mailto:frank.mehnert@oracle.com">mailto:alexander.eichner@oracle.com</a><br><br>Hauptverwaltung: Riesstr. 25, D-80992 München<br>Registergericht: Amtsgericht München, HRA 95603</div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Geschäftsführer: Jürgen Kunz<br><br>Komplementärin: ORACLE Deutschland Verwaltung B.V.<br>Rijnzathe 6, 3454PV De Meern, Niederlande<br>Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697<br>Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher</div></span></span>
</div>
<br></body></html>