sis(4) flow control
Andreas Longwitz
longwitz at incore.de
Tue Jul 9 13:52:34 UTC 2013
Some of my soekris boxes run with sis interfaces. Because I need
ethernet flow control on these boxes I use the following patch (against
8-Stable) for some years:
--- if_sis.c.orig 2013-05-15 20:01:16.000000000 +0200
+++ if_sis.c 2013-06-24 15:58:05.000000000 +0200
@@ -1965,6 +1965,18 @@
}
#endif
+ if (sc->sis_type == SIS_TYPE_83815 && sc->sis_srr >= NS_SRR_16A) {
+ if (ifp->if_flags & IFF_LINK0) {
+ /*
+ * Configure Ethernet flow control for outgoing frames.
+ * Enable reception of 802.3x multicast pause frames.
+ */
+ SIS_SETBIT(sc, NS_PCR, NS_PCR_PAUSE );
+ } else {
+ SIS_CLRBIT(sc, NS_PCR, NS_PCR_PAUSE );
+ }
+ }
+
mii = device_get_softc(sc->sis_miibus);
/* Set MAC address */
Other network drivers (eg. vr) have this functionality inside, it would
be fine if sis learns flow control too.
---
Andreas Longwitz
More information about the freebsd-net
mailing list