summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_mcx.c
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2020-12-15 03:26:09 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2020-12-15 03:26:09 +0000
commitf2c0d2fe296172cd459637d92da861f3d895beb2 (patch)
tree26a0b0ba3d276dccc7f59c18170f1c2546b65717 /sys/dev/pci/if_mcx.c
parentca472fafd88e2dbd70a995f380ab0fc5dcba1ac2 (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.c4
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;