shared/ethtool-util: autogenerate table of link mode names
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 May 2023 10:15:28 +0000 (12:15 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 May 2023 11:05:33 +0000 (13:05 +0200)
commit6049ddcca2e723cd92ef5c5b335c4461342dd23d
treed5af795a4fedfb806871517ae00a507d7f0e61b5
parente30b4c13570a5e4ec794d480d5371e9c739570d9
shared/ethtool-util: autogenerate table of link mode names

We updated this table manually, but the kernel adds new modes periodically
and we forget to do that. So let that happen automatically whenever we import
new kernel headers.

C.f. 72dda93acba95a330daae45bd85be8abc788df1c.

Effectively, this adds:
        [ETHTOOL_LINK_MODE_10baseT1L_Full_BIT]             = "10baset1l-full",
        [ETHTOOL_LINK_MODE_800000baseCR8_Full_BIT]         = "800000basecr8-full",
        [ETHTOOL_LINK_MODE_800000baseKR8_Full_BIT]         = "800000basekr8-full",
        [ETHTOOL_LINK_MODE_800000baseDR8_Full_BIT]         = "800000basedr8-full",
        [ETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT]       = "800000basedr8-2-full",
        [ETHTOOL_LINK_MODE_800000baseSR8_Full_BIT]         = "800000basesr8-full",
        [ETHTOOL_LINK_MODE_800000baseVR8_Full_BIT]         = "800000basevr8-full",

N_ADVERTISE needed to be increased because we need more bits.
src/shared/ethtool-link-mode.py [new file with mode: 0644]
src/shared/ethtool-util.c
src/shared/ethtool-util.h
src/shared/meson.build