changing MTU on ASF enabled bge disables device
An ASF enabled bge device will not pass any traffic after it has had its MTU changed, Eg
dladm set-linkprop -p mtu=9000 bge0
It requires a system reboot to recover.
Updated by Paul Winder about 2 years ago
When an ASF enabled bge is stopped Eg through a mac_stop() call it sets a variable asf_pseudostop to B_TRUE and does not do a real stop on the chip . This also tells the start code that it does need to reset and start the chip.
MTU changes are programmed when the chip starts, so if we don't have a real stop start sequence the MTU change will not be effective. The set_prop code which accepts the MTU change realises this and does a real chip stop, but the asf_pseudostop has a stale value from a mac_stop() which means when a chip start is requested, it is not started as it thinks the last stop was "pseudo".
Change forces asf_pseudostop to B_FALSE in the set_prop code path