Skip to content

Commit 98b74f6

Browse files
committed
merge Github PR#103
cf. #103
1 parent 9372b68 commit 98b74f6

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

src/core/network.cc

+96
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,35 @@ struct ethtool_value
188188
#define SUPPORTED_1000baseKX_Full (1 << 17)
189189
#define SUPPORTED_10000baseKX4_Full (1 << 18)
190190
#define SUPPORTED_10000baseKR_Full (1 << 19)
191+
#define SUPPORTED_10000baseR_FEC (1 << 20)
192+
#define SUPPORTED_20000baseMLD2_Full (1 << 21)
193+
#define SUPPORTED_20000baseKR2_Full (1 << 22)
191194
#define SUPPORTED_40000baseKR4_Full (1 << 23)
192195
#define SUPPORTED_40000baseCR4_Full (1 << 24)
193196
#define SUPPORTED_40000baseSR4_Full (1 << 25)
194197
#define SUPPORTED_40000baseLR4_Full (1 << 26)
198+
#define SUPPORTED_56000baseKR4_Full (1 << 27)
199+
#define SUPPORTED_56000baseCR4_Full (1 << 28)
200+
#define SUPPORTED_56000baseSR4_Full (1 << 29)
201+
#define SUPPORTED_56000baseLR4_Full (1 << 30)
195202
#define SUPPORTED_25000baseCR_Full (1 << 31)
203+
#define SUPPORTED_25000baseKR_Full (1 << 32)
204+
#define SUPPORTED_25000baseSR_Full (1 << 33)
205+
#define SUPPORTED_50000baseCR2_Full (1 << 34)
206+
#define SUPPORTED_50000baseKR2_Full (1 << 35)
207+
#define SUPPORTED_100000baseKR4_Full (1 << 36)
208+
#define SUPPORTED_100000baseSR4_Full (1 << 37)
209+
#define SUPPORTED_100000baseCR4_Full (1 << 38)
210+
#define SUPPORTED_100000baseLR4_ER4_Full (1 << 39)
211+
#define SUPPORTED_50000baseSR2_Full (1 << 40)
212+
#define SUPPORTED_1000baseX_Full (1 << 41)
213+
#define SUPPORTED_10000baseCR_Full (1 << 42)
214+
#define SUPPORTED_10000baseSR_Full (1 << 43)
215+
#define SUPPORTED_10000baseLR_Full (1 << 44)
216+
#define SUPPORTED_10000baseLRM_Full (1 << 45)
217+
#define SUPPORTED_10000baseER_Full (1 << 46)
218+
#define SUPPORTED_2500baseT_Full (1 << 47)
219+
#define SUPPORTED_5000baseT_Full (1 << 48)
196220

197221
/* Indicates what features are supported by the interface,
198222
* in the second word of the extended bitmap. */
@@ -542,6 +566,16 @@ static void updateCapabilities(hwNode & interface, u32 supported, u32 supported2
542566
interface.addCapability("2500bx-fd", _("2.5Gbit/s (full duplex)"));
543567
interface.setCapacity(2500000000ULL);
544568
}
569+
if(supported & SUPPORTED_2500baseT_Full)
570+
{
571+
interface.addCapability("2500bt-fd", _("2500Mbit/s (full duplex)"));
572+
interface.setCapacity(2500000000ULL);
573+
}
574+
if(supported & SUPPORTED_5000baseT_Full)
575+
{
576+
interface.addCapability("5000bt-fd", _("5Gbit/s (full duplex)"));
577+
interface.setCapacity(5000000000ULL);
578+
}
545579
if(supported2 & SUPPORTED2_2500baseT_Full)
546580
{
547581
interface.addCapability("2500bt-fd", _("2.5Gbit/s (full duplex)"));
@@ -564,18 +598,80 @@ static void updateCapabilities(hwNode & interface, u32 supported, u32 supported2
564598
interface.addCapability("10000bx-fd", _("10Gbit/s (full duplex)"));
565599
interface.setCapacity(10000000000ULL);
566600
}
601+
if(supported & SUPPORTED_10000baseR_FEC)
602+
{
603+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
604+
interface.setCapacity(10000000000ULL);
605+
}
606+
if(supported & SUPPORTED_10000baseCR_Full)
607+
{
608+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
609+
interface.setCapacity(10000000000ULL);
610+
}
611+
if(supported & SUPPORTED_10000baseSR_Full)
612+
{
613+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
614+
interface.setCapacity(10000000000ULL);
615+
}
616+
if(supported & SUPPORTED_10000baseLR_Full)
617+
{
618+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
619+
interface.setCapacity(10000000000ULL);
620+
}
621+
if(supported & SUPPORTED_10000baseLRM_Full)
622+
{
623+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
624+
interface.setCapacity(10000000000ULL);
625+
}
626+
if(supported & SUPPORTED_10000baseER_Full)
627+
{
628+
interface.addCapability("10000bt-fd", _("10Gbit/s (full duplex)"));
629+
interface.setCapacity(10000000000ULL);
630+
}
631+
if(supported & SUPPORTED_20000baseMLD2_Full)
632+
{
633+
interface.addCapability("20000bt-fd", _("20Gbit/s (full duplex)"));
634+
interface.setCapacity(20000000000ULL);
635+
}
636+
if(supported & SUPPORTED_20000baseKR2_Full)
637+
{
638+
interface.addCapability("20000bt-fd", _("20Gbit/s (full duplex)"));
639+
interface.setCapacity(20000000000ULL);
640+
}
567641
if((supported & SUPPORTED_25000baseCR_Full) ||
568642
(supported2 & (SUPPORTED2_25000baseKR_Full | SUPPORTED2_25000baseSR_Full)))
569643
{
570644
interface.addCapability("25000bx-fd", _("25Gbit/s (full duplex)"));
571645
interface.setCapacity(25000000000ULL);
572646
}
647+
if(supported & SUPPORTED_25000baseKR_Full)
648+
{
649+
interface.addCapability("25000bt-fd", _("25Gbit/s (full duplex)"));
650+
interface.setCapacity(25000000000ULL);
651+
}
652+
if(supported & SUPPORTED_25000baseSR_Full)
653+
{
654+
interface.addCapability("25000bt-fd", _("25Gbit/s (full duplex)"));
655+
interface.setCapacity(25000000000ULL);
656+
}
573657
if(supported & (SUPPORTED_40000baseKR4_Full | SUPPORTED_40000baseCR4_Full |
574658
SUPPORTED_40000baseSR4_Full | SUPPORTED_40000baseLR4_Full))
575659
{
576660
interface.addCapability("40000bx-fd", _("40Gbit/s (full duplex)"));
577661
interface.setCapacity(40000000000ULL);
578662
}
663+
if(supported & (SUPPORTED_50000baseCR2_Full | SUPPORTED_50000baseKR2_Full |
664+
SUPPORTED_50000baseSR2_Full))
665+
{
666+
interface.addCapability("50000bt-fd", _("50Gbit/s (full duplex)"));
667+
interface.setCapacity(50000000000ULL);
668+
}
669+
if(supported & (SUPPORTED_56000baseCR4_Full | SUPPORTED_56000baseSR4_Full |
670+
SUPPORTED_56000baseLR4_Full | SUPPORTED_56000baseKR4_Full))
671+
{
672+
interface.addCapability("56000bt-fd", _("56Gbit/s (full duplex)"));
673+
interface.setCapacity(56000000000ULL);
674+
}
579675
if(supported2 & (SUPPORTED2_100000baseKR4_Full | SUPPORTED2_100000baseSR4_Full |
580676
SUPPORTED2_100000baseCR4_Full | SUPPORTED2_100000baseLR4_ER4_Full))
581677
{

0 commit comments

Comments
 (0)