mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-29 01:09:33 -04:00
mlxsw: reg: Add VID related fields to SFD register
SFD register configures FDB table. As preparation for unified bridge model, add some required fields for future use. In the new model, firmware no longer configures the egress VID, this responsibility is moved to software. For layer 2 this means that software needs to determine the egress VID for both unicast and multicast. For unicast FDB records and unicast LAG FDB records, the VID needs to be set via new fields in SFD - 'set_vid' and 'vid'. Add the two mentioned fields for future use. Signed-off-by: Amit Cohen <amcohen@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
92e4e543b1
commit
485c281cad
@@ -322,6 +322,18 @@ MLXSW_ITEM32_INDEXED(reg, sfd, rec_action, MLXSW_REG_SFD_BASE_LEN, 28, 4,
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_sub_port, MLXSW_REG_SFD_BASE_LEN, 16, 8,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_set_vid
|
||||
* Set VID.
|
||||
* 0 - Do not update VID.
|
||||
* 1 - Set VID.
|
||||
* For Spectrum-2 when set_vid=0 and smpe_valid=1, the smpe will modify the vid.
|
||||
* Access: RW
|
||||
*
|
||||
* Note: Reserved when legacy bridge model is used.
|
||||
*/
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_set_vid, MLXSW_REG_SFD_BASE_LEN, 31, 1,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_fid_vid
|
||||
* Filtering ID or VLAN ID
|
||||
* For SwitchX and SwitchX-2:
|
||||
@@ -335,6 +347,15 @@ MLXSW_ITEM32_INDEXED(reg, sfd, uc_sub_port, MLXSW_REG_SFD_BASE_LEN, 16, 8,
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_fid_vid, MLXSW_REG_SFD_BASE_LEN, 0, 16,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_vid
|
||||
* New VID when set_vid=1.
|
||||
* Access: RW
|
||||
*
|
||||
* Note: Reserved when legacy bridge model is used and when set_vid=0.
|
||||
*/
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_vid, MLXSW_REG_SFD_BASE_LEN, 16, 12,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x0C, false);
|
||||
|
||||
/* reg_sfd_uc_system_port
|
||||
* Unique port identifier for the final destination of the packet.
|
||||
* Access: RW
|
||||
@@ -379,6 +400,18 @@ static inline void mlxsw_reg_sfd_uc_pack(char *payload, int rec_index,
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_sub_port, MLXSW_REG_SFD_BASE_LEN, 16, 8,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_lag_set_vid
|
||||
* Set VID.
|
||||
* 0 - Do not update VID.
|
||||
* 1 - Set VID.
|
||||
* For Spectrum-2 when set_vid=0 and smpe_valid=1, the smpe will modify the vid.
|
||||
* Access: RW
|
||||
*
|
||||
* Note: Reserved when legacy bridge model is used.
|
||||
*/
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_set_vid, MLXSW_REG_SFD_BASE_LEN, 31, 1,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_lag_fid_vid
|
||||
* Filtering ID or VLAN ID
|
||||
* For SwitchX and SwitchX-2:
|
||||
@@ -393,8 +426,10 @@ MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_fid_vid, MLXSW_REG_SFD_BASE_LEN, 0, 16,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x08, false);
|
||||
|
||||
/* reg_sfd_uc_lag_lag_vid
|
||||
* Indicates VID in case of vFIDs. Reserved for FIDs.
|
||||
* New vlan ID.
|
||||
* Access: RW
|
||||
*
|
||||
* Note: Reserved when legacy bridge model is used and set_vid=0.
|
||||
*/
|
||||
MLXSW_ITEM32_INDEXED(reg, sfd, uc_lag_lag_vid, MLXSW_REG_SFD_BASE_LEN, 16, 12,
|
||||
MLXSW_REG_SFD_REC_LEN, 0x0C, false);
|
||||
|
||||
Reference in New Issue
Block a user