Discussion:
Force the disabling of flow control on em(4)?
Donovan Watteau
2014-05-07 12:55:24 UTC
Permalink
Hi,

Is there a way to force the disabling of flow control on em(4)?
flow control is enabled on openbsd whenever the peer supports it; done
in the autonegotiation phase. there is no button to turn it off. why
should there?
But in my case, although flow control is disabled and auto-negociation
is enabled on the Cisco side, "rxpause,txpause" still appears in
ifconfig(8).

However, looking at /sys/dev/pci/if_em_hw.c, it looks like "software
[can] manually configure flow control". This makes me think of
dev.em.X.fc on FreeBSD, but I don't think there's an equivalent on
OpenBSD.

Is there a not-too-gruesome way of disabling flow control on em(4)?
Or a define to tweak in if_em_hw.h or something?

As for why: I'm asked to test my network with flow control disabled at
the OS level, otherwise these servers won't run OpenBSD.

Thanks
Chris Cappuccio
2014-05-07 16:28:54 UTC
Permalink
Post by Donovan Watteau
Hi,
Is there a way to force the disabling of flow control on em(4)?
flow control is enabled on openbsd whenever the peer supports it; done
in the autonegotiation phase. there is no button to turn it off. why
should there?
But in my case, although flow control is disabled and auto-negociation
is enabled on the Cisco side, "rxpause,txpause" still appears in
ifconfig(8).
However, looking at /sys/dev/pci/if_em_hw.c, it looks like "software
[can] manually configure flow control". This makes me think of
dev.em.X.fc on FreeBSD, but I don't think there's an equivalent on
OpenBSD.
Is there a not-too-gruesome way of disabling flow control on em(4)?
Or a define to tweak in if_em_hw.h or something?
If you don't want to edit the driver, you can simply disable media
autoselection by forcing speed and duplex. The switch will require
forced speed and duplex. ifconfig em0 media 1000baseT mediaopt full-duplex
for instance.
Donovan Watteau
2014-05-07 17:32:02 UTC
Permalink
Post by Chris Cappuccio
Post by Donovan Watteau
Hi,
Is there a way to force the disabling of flow control on em(4)?
flow control is enabled on openbsd whenever the peer supports it; done
in the autonegotiation phase. there is no button to turn it off. why
should there?
But in my case, although flow control is disabled and auto-negociation
is enabled on the Cisco side, "rxpause,txpause" still appears in
ifconfig(8).
However, looking at /sys/dev/pci/if_em_hw.c, it looks like "software
[can] manually configure flow control". This makes me think of
dev.em.X.fc on FreeBSD, but I don't think there's an equivalent on
OpenBSD.
Is there a not-too-gruesome way of disabling flow control on em(4)?
Or a define to tweak in if_em_hw.h or something?
If you don't want to edit the driver, you can simply disable media
autoselection by forcing speed and duplex. The switch will require
forced speed and duplex. ifconfig em0 media 1000baseT mediaopt full-duplex
for instance.
Yes, but I want to explicitly configure flow control, not speed or
duplex. AFAIK this can't be forced with mediaopt. And forcing
speed/duplex doesn't have any effect on the status of flow control.
Chris Cappuccio
2014-05-07 18:21:55 UTC
Permalink
Post by Donovan Watteau
Yes, but I want to explicitly configure flow control, not speed or
duplex. AFAIK this can't be forced with mediaopt. And forcing
speed/duplex doesn't have any effect on the status of flow control.
Try it.

Loading...