Lines Matching defs:dcbcfg

202  * @dcbcfg: Local store to update ETS CFG data
208 struct ice_dcbx_cfg *dcbcfg)
220 etscfg = &dcbcfg->etscfg;
232 * @dcbcfg: Local store to update ETS REC data
238 struct ice_dcbx_cfg *dcbcfg)
243 ice_parse_ieee_ets_common_tlv(&buf[1], &dcbcfg->etsrec);
249 * @dcbcfg: Local store to update PFC CFG data
255 struct ice_dcbx_cfg *dcbcfg)
265 dcbcfg->pfc.willing = FIELD_GET(ICE_IEEE_PFC_WILLING_M, buf[0]);
266 dcbcfg->pfc.mbc = FIELD_GET(ICE_IEEE_PFC_MBC_M, buf[0]);
267 dcbcfg->pfc.pfccap = FIELD_GET(ICE_IEEE_PFC_CAP_M, buf[0]);
268 dcbcfg->pfc.pfcena = buf[1];
274 * @dcbcfg: Local store to update APP PRIO data
280 struct ice_dcbx_cfg *dcbcfg)
309 dcbcfg->app[i].priority = FIELD_GET(ICE_IEEE_APP_PRIO_M,
311 dcbcfg->app[i].selector = FIELD_GET(ICE_IEEE_APP_SEL_M,
313 dcbcfg->app[i].prot_id = (buf[offset + 1] << 0x8) |
322 dcbcfg->numapps = i;
328 * @dcbcfg: Local store to update ETS REC data
334 ice_parse_ieee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
343 ice_parse_ieee_etscfg_tlv(tlv, dcbcfg);
346 ice_parse_ieee_etsrec_tlv(tlv, dcbcfg);
349 ice_parse_ieee_pfccfg_tlv(tlv, dcbcfg);
352 ice_parse_ieee_app_tlv(tlv, dcbcfg);
362 * @dcbcfg: Local store to update ETS CFG data
368 struct ice_dcbx_cfg *dcbcfg)
375 etscfg = &dcbcfg->etscfg;
407 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
409 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
419 * @dcbcfg: Local store to update PFC CFG data
425 struct ice_dcbx_cfg *dcbcfg)
430 dcbcfg->pfc.willing = 1;
437 dcbcfg->pfc.pfcena = buf[0];
438 dcbcfg->pfc.pfccap = buf[1];
444 * @dcbcfg: Local store to update APP PRIO data
449 ice_parse_cee_app_tlv(struct ice_cee_feat_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
458 dcbcfg->numapps = len / sizeof(*app);
459 if (!dcbcfg->numapps)
461 if (dcbcfg->numapps > ICE_DCBX_MAX_APPS)
462 dcbcfg->numapps = ICE_DCBX_MAX_APPS;
464 for (i = 0; i < dcbcfg->numapps; i++) {
472 dcbcfg->app[i].priority = up;
478 dcbcfg->app[i].selector = ICE_APP_SEL_ETHTYPE;
481 dcbcfg->app[i].selector = ICE_APP_SEL_TCPIP;
485 dcbcfg->app[i].selector = selector;
488 dcbcfg->app[i].prot_id = ntohs(app->protocol);
497 * @dcbcfg: Local store to update DCBX config data
503 ice_parse_cee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
533 ice_parse_cee_pgcfg_tlv(sub_tlv, dcbcfg);
536 ice_parse_cee_pfccfg_tlv(sub_tlv, dcbcfg);
539 ice_parse_cee_app_tlv(sub_tlv, dcbcfg);
555 * @dcbcfg: Local store to update ETS REC data
561 ice_parse_org_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
570 ice_parse_ieee_tlv(tlv, dcbcfg);
573 ice_parse_cee_tlv(tlv, dcbcfg);
583 * @dcbcfg: store for LLDPDU data
587 static int ice_lldp_to_dcb_cfg(u8 *lldpmib, struct ice_dcbx_cfg *dcbcfg)
596 if (!lldpmib || !dcbcfg)
614 ice_parse_org_tlv(tlv, dcbcfg);
633 * @dcbcfg: store for LLDPDU data
639 struct ice_dcbx_cfg *dcbcfg)
654 ret = ice_lldp_to_dcb_cfg(lldpmib, dcbcfg);
779 struct ice_dcbx_cfg *cmp_dcbcfg, *dcbcfg;
782 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
783 dcbcfg->dcbx_mode = ICE_DCBX_MODE_CEE;
784 dcbcfg->tlv_status = tlv_status;
787 dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc;
793 dcbcfg->etscfg.prio_table[i * 2] =
796 dcbcfg->etscfg.prio_table[i * 2 + 1] =
802 dcbcfg->etscfg.tcbwtable[i] = cee_cfg->oper_tc_bw[i];
804 if (dcbcfg->etscfg.prio_table[i] == ICE_CEE_PGID_STRICT) {
806 dcbcfg->etscfg.prio_table[i] = cee_cfg->oper_num_tc - 1;
807 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
809 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
814 dcbcfg->pfc.pfcena = cee_cfg->oper_pfc_en;
815 dcbcfg->pfc.pfccap = ICE_MAX_TRAFFIC_CLASS;
818 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
872 dcbcfg->app[app_index].priority =
875 dcbcfg->app[app_index].selector = ice_app_sel_type;
876 dcbcfg->app[app_index].prot_id = ice_app_prot_id_type;
881 dcbcfg->numapps = app_index;
1111 * @dcbcfg: Local store which holds the DCB Config
1116 ice_add_ieee_ets_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1139 etscfg = &dcbcfg->etscfg;
1152 * @dcbcfg: Local store which holds the DCB Config
1158 struct ice_dcbx_cfg *dcbcfg)
1173 etsrec = &dcbcfg->etsrec;
1183 * @dcbcfg: Local store which holds the PFC CFG data
1188 ice_add_ieee_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1208 if (dcbcfg->pfc.willing)
1211 if (dcbcfg->pfc.mbc)
1214 buf[0] |= dcbcfg->pfc.pfccap & 0xF;
1215 buf[1] = dcbcfg->pfc.pfcena;
1221 * @dcbcfg: Local store which holds the APP CFG data
1227 struct ice_dcbx_cfg *dcbcfg)
1235 if (dcbcfg->numapps == 0)
1251 while (i < dcbcfg->numapps) {
1252 priority = dcbcfg->app[i].priority & 0x7;
1253 selector = dcbcfg->app[i].selector & 0x7;
1255 buf[offset + 1] = (dcbcfg->app[i].prot_id >> 0x8) & 0xFF;
1256 buf[offset + 2] = dcbcfg->app[i].prot_id & 0xFF;
1272 * @dcbcfg: location of data to convert to TLV
1275 ice_add_dscp_up_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1293 buf[i] = dcbcfg->dscp_map[i];
1295 buf[i + ICE_DSCP_IPV6_OFFSET] = dcbcfg->dscp_map[i];
1332 * @dcbcfg: location of the data to convert to TLV
1336 struct ice_dcbx_cfg *dcbcfg)
1359 etscfg = &dcbcfg->etscfg;
1381 * @dcbcfg: Local store which holds the PFC CFG data
1384 ice_add_dscp_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1398 buf[0] = dcbcfg->pfc.pfccap & 0xF;
1399 buf[1] = dcbcfg->pfc.pfcena;
1405 * @dcbcfg: Local store which holds the DCB Config
1411 ice_add_dcb_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg,
1414 if (dcbcfg->pfc_mode == ICE_QOS_MODE_VLAN) {
1417 ice_add_ieee_ets_tlv(tlv, dcbcfg);
1420 ice_add_ieee_etsrec_tlv(tlv, dcbcfg);
1423 ice_add_ieee_pfc_tlv(tlv, dcbcfg);
1426 ice_add_ieee_app_pri_tlv(tlv, dcbcfg);
1435 ice_add_dscp_up_tlv(tlv, dcbcfg);
1441 ice_add_dscp_tc_bw_tlv(tlv, dcbcfg);
1444 ice_add_dscp_pfc_tlv(tlv, dcbcfg);
1456 * @dcbcfg: Local store which holds the DCB Config
1461 ice_dcb_cfg_to_lldp(u8 *lldpmib, u16 *miblen, struct ice_dcbx_cfg *dcbcfg)
1469 ice_add_dcb_tlv(tlv, dcbcfg, tlvid++);
1495 struct ice_dcbx_cfg *dcbcfg;
1506 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
1513 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
1516 ice_dcb_cfg_to_lldp(lldpmib, &miblen, dcbcfg);