diff options
author | yongari <yongari@FreeBSD.org> | 2008-12-02 02:30:12 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-12-02 02:30:12 +0000 |
commit | dcd51aaf54363f860c85b26b4e370144981127c2 (patch) | |
tree | 480b047fdad42b1d176ec9e80f402d8be589e5d4 /sys/dev/fxp/if_fxpreg.h | |
parent | 8e7bf5db05cbd45c637ce2dfba0177dd461700b6 (diff) | |
download | FreeBSD-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.h | 3 |
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 */ |