Re: [PATCH net-next v6 11/15] ethtool: provide link mode names as a string set

From: Jakub Kicinski
Date: Tue Jul 02 2019 - 22:04:31 EST


On Tue, 2 Jul 2019 13:50:34 +0200 (CEST), Michal Kubecek wrote:
> +const char *const link_mode_names[] = {
> + __DEFINE_LINK_MODE_NAME(10, T, Half),
> + __DEFINE_LINK_MODE_NAME(10, T, Full),
> + __DEFINE_LINK_MODE_NAME(100, T, Half),
> + __DEFINE_LINK_MODE_NAME(100, T, Full),
> + __DEFINE_LINK_MODE_NAME(1000, T, Half),
> + __DEFINE_LINK_MODE_NAME(1000, T, Full),
> + __DEFINE_SPECIAL_MODE_NAME(Autoneg, "Autoneg"),
> + __DEFINE_SPECIAL_MODE_NAME(TP, "TP"),
> + __DEFINE_SPECIAL_MODE_NAME(AUI, "AUI"),
> + __DEFINE_SPECIAL_MODE_NAME(MII, "MII"),
> + __DEFINE_SPECIAL_MODE_NAME(FIBRE, "FIBRE"),
> + __DEFINE_SPECIAL_MODE_NAME(BNC, "BNC"),

> + __DEFINE_LINK_MODE_NAME(10000, T, Full),
> + __DEFINE_SPECIAL_MODE_NAME(Pause, "Pause"),
> + __DEFINE_SPECIAL_MODE_NAME(Asym_Pause, "Asym_Pause"),
> + __DEFINE_LINK_MODE_NAME(2500, X, Full),
> + __DEFINE_SPECIAL_MODE_NAME(Backplane, "Backplane"),
> + __DEFINE_LINK_MODE_NAME(1000, KX, Full),
...
> + __DEFINE_LINK_MODE_NAME(5000, T, Full),
> + __DEFINE_SPECIAL_MODE_NAME(FEC_NONE, "None"),
> + __DEFINE_SPECIAL_MODE_NAME(FEC_RS, "RS"),
> + __DEFINE_SPECIAL_MODE_NAME(FEC_BASER, "BASER"),

Why are port types and FEC params among link mode strings?

> + __DEFINE_LINK_MODE_NAME(50000, KR, Full),
...
> + __DEFINE_LINK_MODE_NAME(1000, T1, Full),
> +};