diff options
author | 2020-04-27 10:06:45 +0000 | |
---|---|---|
committer | 2020-04-27 10:06:45 +0000 | |
commit | 615a26c04a78908f4879935f4aadf9ca160c8ae4 (patch) | |
tree | 29a4802fa07249b4d8f9e42f4964766b01e2f0fb | |
parent | Do not close the stdout file descriptor in control mode as it will be (diff) | |
download | wireguard-openbsd-615a26c04a78908f4879935f4aadf9ca160c8ae4.tar.xz wireguard-openbsd-615a26c04a78908f4879935f4aadf9ca160c8ae4.zip |
When creating the rx filter, indicate we want to match against the outermost
packet headers, rather than the headers inside any of the tunnel protocols
the nic firmware understands. This allows us to receive gre, ipip, mpls,
etc. packets without putting the interface in promisc mode.
ok dlg@
-rw-r--r-- | sys/dev/pci/if_bnxt.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/if_bnxt.c b/sys/dev/pci/if_bnxt.c index 2d786d40382..c0b42ed0826 100644 --- a/sys/dev/pci/if_bnxt.c +++ b/sys/dev/pci/if_bnxt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bnxt.c,v 1.21 2019/09/03 09:00:44 sf Exp $ */ +/* $OpenBSD: if_bnxt.c,v 1.22 2020/04/27 10:06:45 jmatthew Exp $ */ /*- * Broadcom NetXtreme-C/E network driver. * @@ -2816,7 +2816,8 @@ bnxt_hwrm_set_filter(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic) resp = BNXT_DMA_KVA(softc->sc_cmd_resp); bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_CFA_L2_FILTER_ALLOC); - req.flags = htole32(HWRM_CFA_L2_FILTER_ALLOC_INPUT_FLAGS_PATH_RX); + req.flags = htole32(HWRM_CFA_L2_FILTER_ALLOC_INPUT_FLAGS_PATH_RX + | HWRM_CFA_L2_FILTER_ALLOC_INPUT_FLAGS_OUTERMOST); enables = HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_L2_ADDR | HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_L2_ADDR_MASK | HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_DST_ID; |