i40e: Convert CEE App TLV selector to IEEE selector
Changes the parsing of CEE App TLVs to fill in the App selector in struct i40e_dcbx_config with the IEEE App selector so the caller doesn't have to consider whether the App came from a CEE or IEEE DCBX negotiation. Change-ID: Ia7d9d664cde04d2ebcc9822fd22e4929c6edab3a Signed-off-by: Greg Bowers <gregory.j.bowers@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
ac24382d41
commit
41c3ae8b72
|
@ -380,7 +380,7 @@ static void i40e_parse_cee_app_tlv(struct i40e_cee_feat_tlv *tlv,
|
|||
{
|
||||
u16 length, typelength, offset = 0;
|
||||
struct i40e_cee_app_prio *app;
|
||||
u8 i, up;
|
||||
u8 i, up, selector;
|
||||
|
||||
typelength = ntohs(tlv->hdr.typelen);
|
||||
length = (u16)((typelength & I40E_LLDP_TLV_LEN_MASK) >>
|
||||
|
@ -397,9 +397,17 @@ static void i40e_parse_cee_app_tlv(struct i40e_cee_feat_tlv *tlv,
|
|||
break;
|
||||
}
|
||||
dcbcfg->app[i].priority = up;
|
||||
/* Get Selector from lower 2 bits */
|
||||
dcbcfg->app[i].selector = (app->upper_oui_sel &
|
||||
I40E_CEE_APP_SELECTOR_MASK);
|
||||
|
||||
/* Get Selector from lower 2 bits, and convert to IEEE */
|
||||
selector = (app->upper_oui_sel & I40E_CEE_APP_SELECTOR_MASK);
|
||||
if (selector == I40E_CEE_APP_SEL_ETHTYPE)
|
||||
dcbcfg->app[i].selector = I40E_APP_SEL_ETHTYPE;
|
||||
else if (selector == I40E_CEE_APP_SEL_TCPIP)
|
||||
dcbcfg->app[i].selector = I40E_APP_SEL_TCPIP;
|
||||
else
|
||||
/* Keep selector as it is for unknown types */
|
||||
dcbcfg->app[i].selector = selector;
|
||||
|
||||
dcbcfg->app[i].protocolid = ntohs(app->protocol);
|
||||
/* Move to next app */
|
||||
offset += sizeof(*app);
|
||||
|
|
|
@ -418,6 +418,8 @@ struct i40e_fc_info {
|
|||
#define I40E_APP_PROTOID_FIP 0x8914
|
||||
#define I40E_APP_SEL_ETHTYPE 0x1
|
||||
#define I40E_APP_SEL_TCPIP 0x2
|
||||
#define I40E_CEE_APP_SEL_ETHTYPE 0x0
|
||||
#define I40E_CEE_APP_SEL_TCPIP 0x1
|
||||
|
||||
/* CEE or IEEE 802.1Qaz ETS Configuration data */
|
||||
struct i40e_dcb_ets_config {
|
||||
|
|
Loading…
Reference in New Issue