Sowmini.Varadhan at Sun.COM wrote:
> On (03/06/08 18:38), Sebastien Roy wrote:
>> # dladm show-ether
>> LINK            PTYPE    STATE    AUTO  SPEED-DUPLEX 
>> PAUSE
>> eth0            current  unknown  yes   1G-u                            none
>> eth1            current  unknown  yes   1G-u                            none
>> eth2            current  unknown  yes   1G-u                            none
>> eth3            current  unknown  yes   1G-u                            none
>> # dladm show-phys
>> LINK         MEDIA                STATE      SPEED DUPLEX   DEVICE
>> eth0         Ethernet             up         1000 full      nge0
>> eth1         Ethernet             up         1000 full      nge1
>> eth2         Ethernet             up         1000 full      e1000g0
>> eth3         Ethernet             up         1000 full      e1000g1
>>
>> Why is STATE different in these two commands, and what does 1G-u mean 
>> for SPEED-DUPLEX in show-ether?
> 
> That is because print_phys() in dladm.c extracts the phys info
> for eth0 and queries the kstat for the underlying phys device,
> whereas show_etherprop() calls get_linkduplex with "eth0" itself.
> 
> Notice that "dladm show-ether -x" does the right thing
> because the extended output uses dladm_get_single_mac_stat
> (via get_speed_duplex)
> 
> If you try 
> /net/trigati.east/export/build/sowmini/etherfix/usr/src/cmd/dladm/dladm
> you'll see the fix in action.

That fixes the link state, but the duplex is still "u":

bash-3.2# ./dladm show-ether
LINK            PTYPE    STATE    AUTO  SPEED-DUPLEX 
PAUSE
bge0            current  up       no    1G-u                            none
bge1            current  up       no    1G-u                            none

-Seb

Reply via email to