summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp
diff options
context:
space:
mode:
authoryar <yar@FreeBSD.org>2004-05-27 14:36:58 +0000
committeryar <yar@FreeBSD.org>2004-05-27 14:36:58 +0000
commit3f7eee77ac3ad1673fa699b9215c25e3e5b0fe9e (patch)
tree19253c79640ce180738c98107af76e894c06f298 /sys/dev/fxp
parent257067641e31a4358d833397b22abb7863512df9 (diff)
downloadFreeBSD-src-3f7eee77ac3ad1673fa699b9215c25e3e5b0fe9e.zip
FreeBSD-src-3f7eee77ac3ad1673fa699b9215c25e3e5b0fe9e.tar.gz
POLA dictates that VLAN_MTU be enabled by default.
In particular, disabling it was likely to break configurations involving ng_vlan(4) since the latter couldn't control the parent's VLAN_MTU in the way vlan(4) did. Pointed out by: ru
Diffstat (limited to 'sys/dev/fxp')
-rw-r--r--sys/dev/fxp/if_fxp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c
index 2f3f24d..1161fd8 100644
--- a/sys/dev/fxp/if_fxp.c
+++ b/sys/dev/fxp/if_fxp.c
@@ -595,6 +595,12 @@ fxp_attach(device_t dev)
/* turn on the extended TxCB feature */
sc->flags |= FXP_FLAG_EXT_TXCB;
+
+ /* enable reception of long frames for VLAN */
+ sc->flags |= FXP_FLAG_LONG_PKT_EN;
+ } else {
+ /* a hack to get long VLAN frames on a 82557 */
+ sc->flags |= FXP_FLAG_SAVE_BAD;
}
/*
@@ -820,7 +826,7 @@ fxp_attach(device_t dev)
*/
ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);
ifp->if_capabilities |= IFCAP_VLAN_MTU;
- /* this driver lets vlan(4) control the bit in if_capenable via ioctl */
+ ifp->if_capenable |= IFCAP_VLAN_MTU; /* the hw bits already set */
/*
* Let the system queue as many packets as we have available
OpenPOWER on IntegriCloud