aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vge/if_vge.c
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2009-12-14 22:55:20 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2009-12-14 22:55:20 +0000
commit0c003e99df6df436720e36239ffab9d9fc250939 (patch)
tree9fca12d3ae64cca2d819ee4227b58b94f506750d /sys/dev/vge/if_vge.c
parent37c90cfec7ae20d0ed4e1ef3cb8ee4cd92b25884 (diff)
downloadsrc-0c003e99df6df436720e36239ffab9d9fc250939.tar.gz
src-0c003e99df6df436720e36239ffab9d9fc250939.zip
Tell upper layer vge(4) supports long frames. This should be done
after ether_ifattach(), as ether_ifattach() initializes it with ETHER_HDR_LEN. While I'm here remove setting if_mtu, it's already handled in ether_ifattach().
Notes
Notes: svn path=/head/; revision=200558
Diffstat (limited to 'sys/dev/vge/if_vge.c')
-rw-r--r--sys/dev/vge/if_vge.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c
index b5f3aaece52c..e95a364656d7 100644
--- a/sys/dev/vge/if_vge.c
+++ b/sys/dev/vge/if_vge.c
@@ -1045,7 +1045,6 @@ vge_attach(device_t dev)
ifp->if_softc = sc;
if_initname(ifp, device_get_name(dev), device_get_unit(dev));
- ifp->if_mtu = ETHERMTU;
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
ifp->if_ioctl = vge_ioctl;
ifp->if_capabilities = IFCAP_VLAN_MTU;
@@ -1066,6 +1065,9 @@ vge_attach(device_t dev)
*/
ether_ifattach(ifp, eaddr);
+ /* Tell the upper layer(s) we support long frames. */
+ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);
+
/* Hook interrupt last to avoid having to lock softc */
error = bus_setup_intr(dev, sc->vge_irq, INTR_TYPE_NET|INTR_MPSAFE,
NULL, vge_intr, sc, &sc->vge_intrhand);