From ef36dcfa0a1373df1a35505c00a5d8bdc2ad3ded Mon Sep 17 00:00:00 2001 From: naddy Date: Tue, 22 Apr 2014 11:54:46 +0000 Subject: [PATCH] If VLAN_HWTAGGING is disabled, we tell the chip not to strip the tag from the received frame. Do not add the tag from the receive descriptor in this case so that the packet isn't tagged twice. Matches FreeBSD. ok brad@ --- sys/dev/pci/if_bge.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index 7ee9fc5cedf..e31ae3ee060 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.353 2014/02/24 20:00:48 brad Exp $ */ +/* $OpenBSD: if_bge.c,v 1.354 2014/04/22 11:54:46 naddy Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -3502,7 +3502,8 @@ bge_rxeof(struct bge_softc *sc) bge_rxcsum(sc, cur_rx, m); #if NVLAN > 0 - if (cur_rx->bge_flags & BGE_RXBDFLAG_VLAN_TAG) { + if (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING && + cur_rx->bge_flags & BGE_RXBDFLAG_VLAN_TAG) { m->m_pkthdr.ether_vtag = cur_rx->bge_vlan_tag; m->m_flags |= M_VLANTAG; } -- 2.20.1