Lines Matching defs:dcbcfg
33 * @dcbcfg: Local store to update ETS CFG data
38 struct i40e_dcbx_config *dcbcfg)
53 etscfg = &dcbcfg->etscfg;
99 * @dcbcfg: Local store to update ETS REC data
104 struct i40e_dcbx_config *dcbcfg)
124 dcbcfg->etsrec.prioritytable[i * 2] = priority;
126 dcbcfg->etsrec.prioritytable[(i * 2) + 1] = priority;
137 dcbcfg->etsrec.tcbwtable[i] = buf[offset++];
146 dcbcfg->etsrec.tsatable[i] = buf[offset++];
152 * @dcbcfg: Local store to update PFC CFG data
157 struct i40e_dcbx_config *dcbcfg)
167 dcbcfg->pfc.willing = FIELD_GET(I40E_IEEE_PFC_WILLING_MASK, buf[0]);
168 dcbcfg->pfc.mbc = FIELD_GET(I40E_IEEE_PFC_MBC_MASK, buf[0]);
169 dcbcfg->pfc.pfccap = FIELD_GET(I40E_IEEE_PFC_CAP_MASK, buf[0]);
170 dcbcfg->pfc.pfcenable = buf[1];
176 * @dcbcfg: Local store to update APP PRIO data
181 struct i40e_dcbx_config *dcbcfg)
208 dcbcfg->app[i].priority = FIELD_GET(I40E_IEEE_APP_PRIO_MASK,
210 dcbcfg->app[i].selector = FIELD_GET(I40E_IEEE_APP_SEL_MASK,
212 dcbcfg->app[i].protocolid = (buf[offset + 1] << 0x8) |
221 dcbcfg->numapps = i;
227 * @dcbcfg: Local store to update ETS REC data
233 struct i40e_dcbx_config *dcbcfg)
242 i40e_parse_ieee_etscfg_tlv(tlv, dcbcfg);
245 i40e_parse_ieee_etsrec_tlv(tlv, dcbcfg);
248 i40e_parse_ieee_pfccfg_tlv(tlv, dcbcfg);
251 i40e_parse_ieee_app_tlv(tlv, dcbcfg);
261 * @dcbcfg: Local store to update ETS CFG data
266 struct i40e_dcbx_config *dcbcfg)
274 etscfg = &dcbcfg->etscfg;
312 * @dcbcfg: Local store to update PFC CFG data
317 struct i40e_dcbx_config *dcbcfg)
322 dcbcfg->pfc.willing = 1;
329 dcbcfg->pfc.pfcenable = buf[0];
330 dcbcfg->pfc.pfccap = buf[1];
336 * @dcbcfg: Local store to update APP PRIO data
341 struct i40e_dcbx_config *dcbcfg)
350 dcbcfg->numapps = length / sizeof(*app);
352 if (!dcbcfg->numapps)
354 if (dcbcfg->numapps > I40E_DCBX_MAX_APPS)
355 dcbcfg->numapps = I40E_DCBX_MAX_APPS;
357 for (i = 0; i < dcbcfg->numapps; i++) {
365 dcbcfg->app[i].priority = up;
371 dcbcfg->app[i].selector = I40E_APP_SEL_ETHTYPE;
374 dcbcfg->app[i].selector = I40E_APP_SEL_TCPIP;
378 dcbcfg->app[i].selector = selector;
381 dcbcfg->app[i].protocolid = ntohs(app->protocol);
390 * @dcbcfg: Local store to update DCBX config data
396 struct i40e_dcbx_config *dcbcfg)
424 i40e_parse_cee_pgcfg_tlv(sub_tlv, dcbcfg);
427 i40e_parse_cee_pfccfg_tlv(sub_tlv, dcbcfg);
430 i40e_parse_cee_app_tlv(sub_tlv, dcbcfg);
446 * @dcbcfg: Local store to update ETS REC data
452 struct i40e_dcbx_config *dcbcfg)
461 i40e_parse_ieee_tlv(tlv, dcbcfg);
464 i40e_parse_cee_tlv(tlv, dcbcfg);
474 * @dcbcfg: store for LLDPDU data
479 struct i40e_dcbx_config *dcbcfg)
488 if (!lldpmib || !dcbcfg)
506 i40e_parse_org_tlv(tlv, dcbcfg);
526 * @dcbcfg: store for LLDPDU data
532 struct i40e_dcbx_config *dcbcfg)
551 ret = i40e_lldp_to_dcb_config(lldpmib, dcbcfg);
561 * @dcbcfg: DCB configuration struct
567 struct i40e_dcbx_config *dcbcfg)
574 dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc;
584 dcbcfg->etscfg.prioritytable[i * 2] = tc;
587 dcbcfg->etscfg.prioritytable[i*2 + 1] = tc;
591 dcbcfg->etscfg.tcbwtable[i] = cee_cfg->oper_tc_bw[i];
594 if (dcbcfg->etscfg.prioritytable[i] == I40E_CEE_PGID_STRICT) {
596 dcbcfg->etscfg.prioritytable[i] =
598 dcbcfg->etscfg.tsatable[i] = I40E_IEEE_TSA_STRICT;
600 dcbcfg->etscfg.tsatable[i] = I40E_IEEE_TSA_ETS;
605 dcbcfg->pfc.pfcenable = cee_cfg->oper_pfc_en;
606 dcbcfg->pfc.pfccap = I40E_MAX_TRAFFIC_CLASS;
613 dcbcfg->numapps = I40E_CEE_OPER_MAX_APPS;
616 dcbcfg->app[0].priority =
618 dcbcfg->app[0].selector = I40E_APP_SEL_ETHTYPE;
619 dcbcfg->app[0].protocolid = I40E_APP_PROTOID_FCOE;
622 dcbcfg->app[1].priority =
624 dcbcfg->app[1].selector = I40E_APP_SEL_TCPIP;
625 dcbcfg->app[1].protocolid = I40E_APP_PROTOID_ISCSI;
628 dcbcfg->app[2].priority =
630 dcbcfg->app[2].selector = I40E_APP_SEL_ETHTYPE;
631 dcbcfg->app[2].protocolid = I40E_APP_PROTOID_FIP;
638 * @dcbcfg: DCB configuration struct
644 struct i40e_dcbx_config *dcbcfg)
651 dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc;
661 dcbcfg->etscfg.prioritytable[i * 2] = tc;
664 dcbcfg->etscfg.prioritytable[i * 2 + 1] = tc;
668 dcbcfg->etscfg.tcbwtable[i] = cee_cfg->oper_tc_bw[i];
671 if (dcbcfg->etscfg.prioritytable[i] == I40E_CEE_PGID_STRICT) {
673 dcbcfg->etscfg.prioritytable[i] =
675 dcbcfg->etscfg.tsatable[i] = I40E_IEEE_TSA_STRICT;
677 dcbcfg->etscfg.tsatable[i] = I40E_IEEE_TSA_ETS;
682 dcbcfg->pfc.pfcenable = cee_cfg->oper_pfc_en;
683 dcbcfg->pfc.pfccap = I40E_MAX_TRAFFIC_CLASS;
693 dcbcfg->app[i].priority =
695 dcbcfg->app[i].selector = I40E_APP_SEL_ETHTYPE;
696 dcbcfg->app[i].protocolid = I40E_APP_PROTOID_FCOE;
707 dcbcfg->app[i].priority =
709 dcbcfg->app[i].selector = I40E_APP_SEL_TCPIP;
710 dcbcfg->app[i].protocolid = I40E_APP_PROTOID_ISCSI;
721 dcbcfg->app[i].priority =
723 dcbcfg->app[i].selector = I40E_APP_SEL_ETHTYPE;
724 dcbcfg->app[i].protocolid = I40E_APP_PROTOID_FIP;
727 dcbcfg->numapps = i;
944 * @dcbcfg: Local store which holds the DCB Config
949 struct i40e_dcbx_config *dcbcfg)
972 etscfg = &dcbcfg->etscfg;
1019 * @dcbcfg: Local store which holds the DCB Config
1024 struct i40e_dcbx_config *dcbcfg)
1040 etsrec = &dcbcfg->etsrec;
1083 * @dcbcfg: Local store to get PFC CFG data
1088 struct i40e_dcbx_config *dcbcfg)
1108 if (dcbcfg->pfc.willing)
1111 if (dcbcfg->pfc.mbc)
1114 buf[0] |= dcbcfg->pfc.pfccap & 0xF;
1115 buf[1] = dcbcfg->pfc.pfcenable;
1121 * @dcbcfg: Local store to get APP CFG data
1126 struct i40e_dcbx_config *dcbcfg)
1134 if (dcbcfg->numapps == 0)
1150 while (i < dcbcfg->numapps) {
1151 priority = dcbcfg->app[i].priority & 0x7;
1152 selector = dcbcfg->app[i].selector & 0x7;
1154 buf[offset + 1] = (dcbcfg->app[i].protocolid >> 0x8) & 0xFF;
1155 buf[offset + 2] = dcbcfg->app[i].protocolid & 0xFF;
1172 * @dcbcfg: pointer to modified dcbx config structure *
1177 struct i40e_dcbx_config *dcbcfg,
1182 i40e_add_ieee_ets_tlv(tlv, dcbcfg);
1185 i40e_add_ieee_etsrec_tlv(tlv, dcbcfg);
1188 i40e_add_ieee_pfc_tlv(tlv, dcbcfg);
1191 i40e_add_ieee_app_pri_tlv(tlv, dcbcfg);
1206 struct i40e_dcbx_config *dcbcfg;
1213 dcbcfg = &hw->local_dcbx_config;
1220 if (dcbcfg->app_mode == I40E_DCBX_APPS_NON_WILLING) {
1225 i40e_dcb_config_to_lldp(lldpmib, &miblen, dcbcfg);
1236 * @dcbcfg: store for LLDPDU data
1241 struct i40e_dcbx_config *dcbcfg)
1249 i40e_add_dcb_tlv(tlv, dcbcfg, tlvid++);