Page MenuHomeFreeBSD

D33156.id99376.diff
No OneTemporary

D33156.id99376.diff

Index: sys/dev/e1000/igb_txrx.c
===================================================================
--- sys/dev/e1000/igb_txrx.c
+++ sys/dev/e1000/igb_txrx.c
@@ -460,12 +460,14 @@
rxd->wb.upper.status_error = 0;
eop = ((staterr & E1000_RXD_STAT_EOP) == E1000_RXD_STAT_EOP);
- if (((sc->hw.mac.type == e1000_i350) ||
- (sc->hw.mac.type == e1000_i354)) &&
- (staterr & E1000_RXDEXT_STATERR_LB))
- vtag = be16toh(rxd->wb.upper.vlan);
- else
- vtag = le16toh(rxd->wb.upper.vlan);
+ if ((staterr & E1000_RXD_STAT_VP) != 0) {
+ if (((sc->hw.mac.type == e1000_i350) ||
+ (sc->hw.mac.type == e1000_i354)) &&
+ (staterr & E1000_RXDEXT_STATERR_LB))
+ vtag = be16toh(rxd->wb.upper.vlan);
+ else
+ vtag = le16toh(rxd->wb.upper.vlan);
+ }
/* Make sure bad packets are discarded */
if (eop && ((staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) != 0)) {
@@ -492,14 +494,12 @@
rxr->rx_packets++;
- if ((scctx->isc_capenable & IFCAP_RXCSUM) != 0)
+ if ((if_getcapenable(ri->iri_ifp) & IFCAP_RXCSUM) != 0)
igb_rx_checksum(staterr, ri, ptype);
- if ((scctx->isc_capenable & IFCAP_VLAN_HWTAGGING) != 0 &&
- (staterr & E1000_RXD_STAT_VP) != 0) {
- ri->iri_vtag = vtag;
+ ri->iri_vtag = vtag;
+ if (vtag)
ri->iri_flags |= M_VLANTAG;
- }
ri->iri_flowid =
le32toh(rxd->wb.lower.hi_dword.rss);

File Metadata

Mime Type
text/plain
Expires
Thu, May 14, 7:07 PM (20 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33055426
Default Alt Text
D33156.id99376.diff (1 KB)

Event Timeline