From 14fe90e75f5777e7beb1d06dd21cd9a9b08605d8 Mon Sep 17 00:00:00 2001 From: msaitoh Date: Wed, 4 Oct 2017 07:07:16 +0000 Subject: [PATCH] All Ethernet media more than 1000Mbps don't support half duplex. For the convinience, ifconfig without "mediaopt fullduplex" sets IFM_FDX automatically for those medias. Without this change, "ifconfig xxN mediaopt 10Gbase-T" (without "mediaopt fullduplex") returns EINVAL if a driver doesn't call ifmedia_add() without IFM_FDX because ifmedia_match() returns NULL. --- sys/net/if_media.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys/net/if_media.h b/sys/net/if_media.h index ab43016ec16f..31ca4bab2967 100644 --- a/sys/net/if_media.h +++ b/sys/net/if_media.h @@ -1,4 +1,4 @@ -/* $NetBSD: if_media.h,v 1.59 2017/06/08 02:27:30 msaitoh Exp $ */ +/* $NetBSD: if_media.h,v 1.60 2017/10/04 07:07:16 msaitoh Exp $ */ /*- * Copyright (c) 1998, 2000, 2001 The NetBSD Foundation, Inc. @@ -392,23 +392,23 @@ struct ifmedia_description { { IFM_ETHER | IFM_1000_T, "1000BASE-T" }, \ { IFM_ETHER | IFM_HPNA_1, "HomePNA1" }, \ { IFM_ETHER | IFM_HPNA_1, "HPNA1" }, \ - { IFM_ETHER | IFM_2500_KX, "2500BASE-KX" }, \ - { IFM_ETHER | IFM_2500_KX, "2500baseKX" }, \ - { IFM_ETHER | IFM_10G_LR, "10GbaseLR" }, \ - { IFM_ETHER | IFM_10G_LR, "10GLR" }, \ - { IFM_ETHER | IFM_10G_LR, "10GBASE-LR" }, \ - { IFM_ETHER | IFM_10G_SR, "10GbaseSR" }, \ - { IFM_ETHER | IFM_10G_SR, "10GSR" }, \ - { IFM_ETHER | IFM_10G_SR, "10GBASE-SR" }, \ - { IFM_ETHER | IFM_10G_LRM, "10Gbase-LRM" }, \ - { IFM_ETHER | IFM_10G_TWINAX, "10Gbase-Twinax" }, \ - { IFM_ETHER | IFM_10G_TWINAX_LONG, "10Gbase-Twinax-Long" },\ - { IFM_ETHER | IFM_10G_T, "10Gbase-T" }, \ - { IFM_ETHER | IFM_10G_CX4, "10GbaseCX4" }, \ - { IFM_ETHER | IFM_10G_CX4, "10GCX4" }, \ - { IFM_ETHER | IFM_10G_CX4, "10GBASE-CX4" }, \ - { IFM_ETHER | IFM_2500_SX, "2500baseSX" }, \ - { IFM_ETHER | IFM_2500_SX, "2500SX" }, \ + { IFM_ETHER | IFM_2500_KX | IFM_FDX, "2500BASE-KX" }, \ + { IFM_ETHER | IFM_2500_KX | IFM_FDX, "2500baseKX" }, \ + { IFM_ETHER | IFM_10G_LR | IFM_FDX, "10GbaseLR" }, \ + { IFM_ETHER | IFM_10G_LR | IFM_FDX, "10GLR" }, \ + { IFM_ETHER | IFM_10G_LR | IFM_FDX, "10GBASE-LR" }, \ + { IFM_ETHER | IFM_10G_SR | IFM_FDX, "10GbaseSR" }, \ + { IFM_ETHER | IFM_10G_SR | IFM_FDX, "10GSR" }, \ + { IFM_ETHER | IFM_10G_SR | IFM_FDX, "10GBASE-SR" }, \ + { IFM_ETHER | IFM_10G_LRM | IFM_FDX, "10Gbase-LRM" }, \ + { IFM_ETHER | IFM_10G_TWINAX | IFM_FDX, "10Gbase-Twinax" }, \ + { IFM_ETHER | IFM_10G_TWINAX_LONG | IFM_FDX, "10Gbase-Twinax-Long" },\ + { IFM_ETHER | IFM_10G_T | IFM_FDX, "10Gbase-T" }, \ + { IFM_ETHER | IFM_10G_CX4 | IFM_FDX, "10GbaseCX4" }, \ + { IFM_ETHER | IFM_10G_CX4 | IFM_FDX, "10GCX4" }, \ + { IFM_ETHER | IFM_10G_CX4 | IFM_FDX, "10GBASE-CX4" }, \ + { IFM_ETHER | IFM_2500_SX | IFM_FDX, "2500baseSX" }, \ + { IFM_ETHER | IFM_2500_SX | IFM_FDX, "2500SX" }, \ \ { IFM_TOKEN | IFM_TOK_STP4, "DB9/4Mbit" }, \ { IFM_TOKEN | IFM_TOK_STP4, "4STP" }, \