summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_mcx.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2020-05-25 02:08:11 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2020-05-25 02:08:11 +0000
commitc0df90fb142ec481cde517b18301523d5e005759 (patch)
tree2da79b3ca52236f48f1cff5e4bdb161760996e3c /sys/dev/pci/if_mcx.c
parent4bc23f0e5eb73d1ea4fc8062da9ad1038a11eca9 (diff)
Unfortunately, breaks UDP NFS under volume, when used on the src machine.
backout until resolved.
Diffstat (limited to 'sys/dev/pci/if_mcx.c')
-rw-r--r--sys/dev/pci/if_mcx.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/sys/dev/pci/if_mcx.c b/sys/dev/pci/if_mcx.c
index 6c540f64e35..235efa95118 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.45 2020/05/21 02:08:31 jmatthew Exp $ */
+/* $OpenBSD: if_mcx.c,v 1.46 2020/05/25 02:08:10 deraadt Exp $ */
/*
* Copyright (c) 2017 David Gwynne <dlg@openbsd.org>
@@ -1255,10 +1255,6 @@ struct mcx_cq_entry {
uint32_t cq_checksum;
uint32_t __reserved__;
uint32_t cq_flags;
-#define MCX_CQ_ENTRY_FLAGS_L4_OK (1 << 26)
-#define MCX_CQ_ENTRY_FLAGS_L3_OK (1 << 25)
-#define MCX_CQ_ENTRY_FLAGS_L2_OK (1 << 24)
-
uint32_t cq_lro_srqn;
uint32_t __reserved__[2];
uint32_t cq_byte_cnt;
@@ -2359,9 +2355,7 @@ mcx_attach(struct device *parent, struct device *self, void *aux)
ifp->if_qstart = mcx_start;
ifp->if_watchdog = mcx_watchdog;
ifp->if_hardmtu = sc->sc_hardmtu;
- ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_CSUM_IPv4 |
- IFCAP_CSUM_UDPv4 | IFCAP_CSUM_UDPv6 | IFCAP_CSUM_TCPv4 |
- IFCAP_CSUM_TCPv6;
+ ifp->if_capabilities = IFCAP_VLAN_MTU;
IFQ_SET_MAXLEN(&ifp->if_snd, 1024);
ifmedia_init(&sc->sc_media, IFM_IMASK, mcx_media_change,
@@ -5668,7 +5662,6 @@ mcx_process_rx(struct mcx_softc *sc, struct mcx_cq_entry *cqe,
struct mcx_slot *ms;
struct mbuf *m;
int slot;
- uint32_t flags;
slot = betoh16(cqe->cq_wqe_count) % (1 << MCX_LOG_RQ_SIZE);
@@ -5687,13 +5680,6 @@ mcx_process_rx(struct mcx_softc *sc, struct mcx_cq_entry *cqe,
betoh32(cqe->cq_rx_hash);
}
- flags = bemtoh32(&cqe->cq_flags);
- if (flags & MCX_CQ_ENTRY_FLAGS_L3_OK)
- m->m_pkthdr.csum_flags = M_IPV4_CSUM_IN_OK;
- if (flags & MCX_CQ_ENTRY_FLAGS_L4_OK)
- m->m_pkthdr.csum_flags |= M_TCP_CSUM_IN_OK |
- M_UDP_CSUM_IN_OK;
-
if (c->c_tdiff) {
uint64_t t = bemtoh64(&cqe->cq_timestamp) - c->c_timestamp;
t *= c->c_udiff;
@@ -6357,7 +6343,6 @@ mcx_start(struct ifqueue *ifq)
sqe->sqe_signature = htobe32(MCX_SQE_CE_CQE_ALWAYS);
/* eth segment */
- sqe->sqe_mss_csum = htobe32(MCX_SQE_L3_CSUM | MCX_SQE_L4_CSUM);
sqe->sqe_inline_header_size = htobe16(MCX_SQ_INLINE_SIZE);
m_copydata(m, 0, MCX_SQ_INLINE_SIZE,
(caddr_t)sqe->sqe_inline_headers);