diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2020-05-25 02:08:11 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2020-05-25 02:08:11 +0000 |
commit | c0df90fb142ec481cde517b18301523d5e005759 (patch) | |
tree | 2da79b3ca52236f48f1cff5e4bdb161760996e3c /sys/dev/pci/if_mcx.c | |
parent | 4bc23f0e5eb73d1ea4fc8062da9ad1038a11eca9 (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.c | 19 |
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); |