diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2020-12-15 03:26:09 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2020-12-15 03:26:09 +0000 |
commit | f2c0d2fe296172cd459637d92da861f3d895beb2 (patch) | |
tree | 26a0b0ba3d276dccc7f59c18170f1c2546b65717 /sys/dev/pci/if_mcx.c | |
parent | ca472fafd88e2dbd70a995f380ab0fc5dcba1ac2 (diff) |
turn hardware rx mbuf timestamping off by default.
we see too many ntp replies (appear to) arrive before the request
for them was sent, which ntpd handles by disabling the peer for an
hour.
this was a lot easier to narrow down after fixing up bpf and
timestamps, cos it let me see this:
16:50:36.051696 802.1Q vid 871 pri 3 192.0.2.55.47079 > 162.159.200.123.123: v4 client strat 0 poll 0 prec 0 [tos 0x10]
16:50:36.047201 802.1Q vid 871 pri 3 162.159.200.123.123 > 192.0.2.55.47079: v4 server strat 3 poll 0 prec -25 (DF)
im going to borrow the link0 flag for a bit to allow turning
timestamping on.
Diffstat (limited to 'sys/dev/pci/if_mcx.c')
-rw-r--r-- | sys/dev/pci/if_mcx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/if_mcx.c b/sys/dev/pci/if_mcx.c index 2384eb659a0..f0b5d4c2e3c 100644 --- a/sys/dev/pci/if_mcx.c +++ b/sys/dev/pci/if_mcx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_mcx.c,v 1.76 2020/12/12 11:48:53 jan Exp $ */ +/* $OpenBSD: if_mcx.c,v 1.77 2020/12/15 03:26:08 dlg Exp $ */ /* * Copyright (c) 2017 David Gwynne <dlg@openbsd.org> @@ -6597,7 +6597,7 @@ mcx_process_rx(struct mcx_softc *sc, struct mcx_rx *rx, } #endif - if (c->c_tdiff) { + if (ISSET(sc->sc_ac.ac_if.if_flags, IFF_LINK0) && c->c_tdiff) { uint64_t t = bemtoh64(&cqe->cq_timestamp) - c->c_timestamp; t *= c->c_udiff; t /= c->c_tdiff; |