From: naddy Date: Tue, 22 Apr 2014 11:54:46 +0000 (+0000) Subject: If VLAN_HWTAGGING is disabled, we tell the chip not to strip the X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=ef36dcfa0a1373df1a35505c00a5d8bdc2ad3ded;p=openbsd 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@ --- 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; }