Hi Alexander, Gotcha! :) Yup, this is more appropriate. Thank you for keeping a keen eye on this!
Best regards, Peter po 14. 8. 2023 o 18:09 Alexander Eichner <alexander.eich...@oracle.com> napísal(a): > Hello Peter, > > below is the patch used to fix the issue. > > Regards, > Alexander Eichner > > Index: trunk/src/VBox/Devices/Network/DevVirtioNet.cpp > =================================================================== > --- a/trunk/src/VBox/Devices/Network/DevVirtioNet.cpp > +++ b/trunk/src/VBox/Devices/Network/DevVirtioNet.cpp > @@ -53,4 +53,5 @@ > #include <VBox/version.h> > #include <VBox/log.h> > +#include <VBox/pci.h> > > > @@ -210,6 +211,4 @@ > > #define PCI_DEVICE_ID_VIRTIONET_HOST 0x1000 /**< VirtIO > transitional device ID for network card */ > -#define PCI_CLASS_BASE_NETWORK_CONTROLLER 0x0200 /**< PCI > Network device class */ > -#define PCI_CLASS_SUB_NET_ETHERNET_CONTROLLER 0x00 /**< PCI > NET Controller subclass */ > #define PCI_CLASS_PROG_UNSPECIFIED 0x00 /**< > Programming interface. N/A. */ > #define VIRTIONET_PCI_CLASS 0x01 /**< Base > class Mass Storage? */ > @@ -3516,6 +3515,6 @@ > VIRTIOPCIPARAMS VirtioPciParams; > VirtioPciParams.uDeviceId = > PCI_DEVICE_ID_VIRTIONET_HOST; > - VirtioPciParams.uClassBase = > PCI_CLASS_BASE_NETWORK_CONTROLLER; > - VirtioPciParams.uClassSub = > PCI_CLASS_SUB_NET_ETHERNET_CONTROLLER; > + VirtioPciParams.uClassBase = > VBOX_PCI_CLASS_NETWORK; > + VirtioPciParams.uClassSub = > VBOX_PCI_SUB_NETWORK_ETHERNET; > VirtioPciParams.uClassProg = > PCI_CLASS_PROG_UNSPECIFIED; > VirtioPciParams.uSubsystemId = > DEVICE_PCI_NETWORK_SUBSYSTEM; /* VirtIO 1.0 allows PCI Device ID here */ > > > On 14.08.2023 18:07, Peter Palúch <peter.paluch...@gmail.com> wrote: > > > > Hello Alexander, > > > > Many thanks for the information! > > > > If I may ask - can you share more details on how you fixed this issue? > Also, has your fix been only merged recently? 7.0.10 did not yet contain it. > > > > Best regards, > > Peter > > > > po 14. 8. 2023 o 17:05 Alexander Eichner <alexander.eich...@oracle.com> > napísal(a): > > Hi Peter, > > > > Thanks for the patch. We fixed the issue internally, albeit a bit > differently. > > > > Regards, > > Alexander Eichner > > > >> On 11.08.2023 23:36, Peter Palúch via vbox-dev <vbox-dev@virtualbox.org> > wrote: > >> > >> Greetings, > >> > >> Attaching a patch fixing the bug #21516 (Cisco CSR 1000v and 8000v does > not recognize interfaces). > >> > >> It turns out that in src/VBox/Devices/Network/DevVirtioNet.cpp, the > macro PCI_CLASS_BASE_NETWORK_CONTROLLER was set to 0x0200 (0x02 =PCI > Network Device Class ID, 0x00 = Ethernet subclass). However, this macro is > passed to another macro, PDMPciDevSetClassBase, that expects uint8_t as the > PCI device class value. This has caused the virtio-net PCI adapter to be > reported with the PCI class/subclass 0x0000, confusing some host operating > systems. > >> > >> The fix is trivial - set PCI_CLASS_BASE_NETWORK_CONTROLLER to 0x02 > instead of 0x0200. > >> > >> Please consider integrating this fix at your earliest convenience. > >> > >> Thank you! > >> > >> Best regards, > >> Peter > >> <virtionet-21516.patch>_______________________________________________ > >> vbox-dev mailing list > >> vbox-dev@virtualbox.org > >> https://www.virtualbox.org/mailman/listinfo/vbox-dev > > > >
_______________________________________________ vbox-dev mailing list vbox-dev@virtualbox.org https://www.virtualbox.org/mailman/listinfo/vbox-dev