Samuel ying - Sun Microsystems - Beijing China wrote:
 > Today I tried this on whitestar2-5.east without restart the system, just
 > replumb the interface.
 >
 > bash-3.00# dladm set-linkprop -p default_mtu=9000 bge1
 > dladm: warning: link property 'default_mtu' will be set/reset on next
 > restart of bge1: driver busy
 > bash-3.00# ifconfig bge1 inet unplumb
 > bash-3.00# ifconfig bge1 inet plumb 192.168.30.2/24 up
 > bash-3.00# dladm show-linkprop bge1
 > LINK PROPERTY VALUE DEFAULT POSSIBLE
 > bge1 zone -- -- --
 > bge1 link_duplex half full --
 > bge1 ifspeed 1000 1000 --
 > bge1 link_up up up --
 > bge1 adv_autoneg_cap 1 1 1,0
 > bge1 default_mtu 1500 1500 68-9000
 > bge1 flowctrl bi bi no,rx,tx,bi
 > bge1 adv_1000fdx_cap 0 -- 1,0
 > bge1 adv_1000hdx_cap 1 -- 1,0
 > bge1 adv_100fdx_cap 0 -- 1,0
 > bge1 adv_100hdx_cap 0 -- 1,0
 > bge1 adv_10fdx_cap 0 -- 1,0
 > bge1 adv_10hdx_cap 0 -- 1,0
 >
 > Sometimes replumbing will work,and the test result is PASS.
 >
 > After reboot, the mtu is correct.
 > bash-3.00# dladm show-linkprop -p default_mtu bge1
 > LINK PROPERTY VALUE DEFAULT POSSIBLE
 > bge1 default_mtu 9000 1500 68-9000
 >
 > It seems that after unplumbing , under some circumstances there are
 > still some references to the bge1 driver, which make the replumbing
 > don't work. This replumbing worked well in earlier builds.

Sowmini.Varadhan at Sun.COM wrote:
> 
> Artem,
> 
> can you take a look into this? I think this may be a bug in
> persistent property restoration. 

I ran some experiments on whitestar2-5... ifconfig bge1 unplumb leaves 
leave the driver instance in attached state. DTrace shows calls to 
mac_close() and mac_prop_unload(), but no bge_detach() or mac_unregister().

 > ::prtconf ! grep bge
         cf37e758 pci108e,16a8, instance #0 (driver name: bge)
         cf37e620 pci108e,16a8, instance #1 (driver name: bge)
 > ::mac_prop
     ADDR LINK             PROPERTY         SIZE VALUE
 > *i_mac_impl_hash::walk modent | ::print mac_impl_t mi_drvname mi_ref
mi_drvname = 0xc80b3fc0 "bge0"
mi_ref = 0x66750065
mi_drvname = 0xc80b3f80 "bge1"
mi_ref = 0x667503b5

(does mi_ref look weird?)

The instance hangs around, never freshly re-attached, so default_mtu 
remains the same. Doesn't seem linked to my recent changes. Not sure 
what's going on here.

-Artem

Reply via email to