summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp/if_fxpreg.h
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2008-12-02 02:30:12 +0000
committeryongari <yongari@FreeBSD.org>2008-12-02 02:30:12 +0000
commitdcd51aaf54363f860c85b26b4e370144981127c2 (patch)
tree480b047fdad42b1d176ec9e80f402d8be589e5d4 /sys/dev/fxp/if_fxpreg.h
parent8e7bf5db05cbd45c637ce2dfba0177dd461700b6 (diff)
downloadFreeBSD-src-dcd51aaf54363f860c85b26b4e370144981127c2.zip
FreeBSD-src-dcd51aaf54363f860c85b26b4e370144981127c2.tar.gz
Add VLAN hardware tag insertion/stripping support. Tx/Rx checksum
offload for VLAN frames are also supported. The VLAN hardware assistance is available only on 82550/82551 based controllers. While I'm here change the confusing name of bit1 in byte 22 of configuration block to vlan_drop_en. The bit controls whether hardware strips VLAN tagged frame or not. Special thanks to wpaul who sent valuable VLAN related information to me. Tested on: i386, sparc64
Diffstat (limited to 'sys/dev/fxp/if_fxpreg.h')
-rw-r--r--sys/dev/fxp/if_fxpreg.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/fxp/if_fxpreg.h b/sys/dev/fxp/if_fxpreg.h
index a0bd142..9831bd2 100644
--- a/sys/dev/fxp/if_fxpreg.h
+++ b/sys/dev/fxp/if_fxpreg.h
@@ -224,7 +224,7 @@ struct fxp_cb_config {
/* Bytes 22 - 31 -- i82550 only */
u_int __FXP_BITFIELD3(gamla_rx:1,
- vlan_drop_en:1,
+ vlan_strip_en:1,
:6);
uint8_t pad[9];
};
@@ -377,6 +377,7 @@ struct fxp_rfa {
#define FXP_RFA_STATUS_RNR 0x0200 /* no resources */
#define FXP_RFA_STATUS_ALIGN 0x0400 /* alignment error */
#define FXP_RFA_STATUS_CRC 0x0800 /* CRC error */
+#define FXP_RFA_STATUS_VLAN 0x1000 /* VLAN tagged frame */
#define FXP_RFA_STATUS_OK 0x2000 /* packet received okay */
#define FXP_RFA_STATUS_C 0x8000 /* packet reception complete */
#define FXP_RFA_CONTROL_SF 0x08 /* simple/flexible memory mode */
OpenPOWER on IntegriCloud