Lines Matching defs:dcbcfg

337  * @dcbcfg: Local store to update ETS CFG data
343 struct ice_dcbx_cfg *dcbcfg)
355 etscfg = &dcbcfg->etscfg;
369 * @dcbcfg: Local store to update ETS REC data
375 struct ice_dcbx_cfg *dcbcfg)
380 ice_parse_ieee_ets_common_tlv(&buf[1], &dcbcfg->etsrec);
386 * @dcbcfg: Local store to update PFC CFG data
392 struct ice_dcbx_cfg *dcbcfg)
402 dcbcfg->pfc.willing = ((buf[0] & ICE_IEEE_PFC_WILLING_M) >>
404 dcbcfg->pfc.mbc = ((buf[0] & ICE_IEEE_PFC_MBC_M) >> ICE_IEEE_PFC_MBC_S);
405 dcbcfg->pfc.pfccap = ((buf[0] & ICE_IEEE_PFC_CAP_M) >>
407 dcbcfg->pfc.pfcena = buf[1];
413 * @dcbcfg: Local store to update APP PRIO data
419 struct ice_dcbx_cfg *dcbcfg)
448 dcbcfg->app[i].priority = ((buf[offset] &
451 dcbcfg->app[i].selector = ((buf[offset] &
454 dcbcfg->app[i].prot_id = (buf[offset + 1] << 0x8) |
463 dcbcfg->numapps = i;
469 * @dcbcfg: Local store to update ETS REC data
475 ice_parse_ieee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
485 ice_parse_ieee_etscfg_tlv(tlv, dcbcfg);
488 ice_parse_ieee_etsrec_tlv(tlv, dcbcfg);
491 ice_parse_ieee_pfccfg_tlv(tlv, dcbcfg);
494 ice_parse_ieee_app_tlv(tlv, dcbcfg);
504 * @dcbcfg: Local store to update ETS CFG data
510 struct ice_dcbx_cfg *dcbcfg)
517 etscfg = &dcbcfg->etscfg;
551 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
553 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
563 * @dcbcfg: Local store to update PFC CFG data
569 struct ice_dcbx_cfg *dcbcfg)
574 dcbcfg->pfc.willing = 1;
581 dcbcfg->pfc.pfcena = buf[0];
582 dcbcfg->pfc.pfccap = buf[1];
588 * @dcbcfg: Local store to update APP PRIO data
593 ice_parse_cee_app_tlv(struct ice_cee_feat_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
602 dcbcfg->numapps = len / sizeof(*app);
603 if (!dcbcfg->numapps)
605 if (dcbcfg->numapps > ICE_DCBX_MAX_APPS)
606 dcbcfg->numapps = ICE_DCBX_MAX_APPS;
608 for (i = 0; i < dcbcfg->numapps; i++) {
616 dcbcfg->app[i].priority = up;
622 dcbcfg->app[i].selector = ICE_APP_SEL_ETHTYPE;
625 dcbcfg->app[i].selector = ICE_APP_SEL_TCPIP;
629 dcbcfg->app[i].selector = selector;
632 dcbcfg->app[i].prot_id = NTOHS(app->protocol);
641 * @dcbcfg: Local store to update DCBX config data
647 ice_parse_cee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
679 ice_parse_cee_pgcfg_tlv(sub_tlv, dcbcfg);
682 ice_parse_cee_pfccfg_tlv(sub_tlv, dcbcfg);
685 ice_parse_cee_app_tlv(sub_tlv, dcbcfg);
701 * @dcbcfg: Local store to update ETS REC data
707 ice_parse_org_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
716 ice_parse_ieee_tlv(tlv, dcbcfg);
719 ice_parse_cee_tlv(tlv, dcbcfg);
729 * @dcbcfg: store for LLDPDU data
733 int ice_lldp_to_dcb_cfg(u8 *lldpmib, struct ice_dcbx_cfg *dcbcfg)
742 if (!lldpmib || !dcbcfg)
760 ice_parse_org_tlv(tlv, dcbcfg);
779 * @dcbcfg: store for LLDPDU data
785 struct ice_dcbx_cfg *dcbcfg)
800 ret = ice_lldp_to_dcb_cfg(lldpmib, dcbcfg);
1017 struct ice_dcbx_cfg *cmp_dcbcfg, *dcbcfg;
1020 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
1021 dcbcfg->dcbx_mode = ICE_DCBX_MODE_CEE;
1022 dcbcfg->tlv_status = tlv_status;
1025 dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc;
1031 dcbcfg->etscfg.prio_table[i * 2] =
1034 dcbcfg->etscfg.prio_table[i * 2 + 1] =
1040 dcbcfg->etscfg.tcbwtable[i] = cee_cfg->oper_tc_bw[i];
1042 if (dcbcfg->etscfg.prio_table[i] == ICE_CEE_PGID_STRICT) {
1044 dcbcfg->etscfg.prio_table[i] = cee_cfg->oper_num_tc - 1;
1045 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
1047 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
1052 dcbcfg->pfc.pfcena = cee_cfg->oper_pfc_en;
1053 dcbcfg->pfc.pfccap = ICE_MAX_TRAFFIC_CLASS;
1056 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
1110 dcbcfg->app[app_index].priority =
1113 dcbcfg->app[app_index].selector = ice_app_sel_type;
1114 dcbcfg->app[app_index].prot_id = ice_app_prot_id_type;
1119 dcbcfg->numapps = app_index;
1351 * @dcbcfg: Local store which holds the DCB Config
1356 ice_add_ieee_ets_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1379 etscfg = &dcbcfg->etscfg;
1392 * @dcbcfg: Local store which holds the DCB Config
1398 struct ice_dcbx_cfg *dcbcfg)
1413 etsrec = &dcbcfg->etsrec;
1423 * @dcbcfg: Local store which holds the PFC CFG data
1428 ice_add_ieee_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1448 if (dcbcfg->pfc.willing)
1451 if (dcbcfg->pfc.mbc)
1454 buf[0] |= dcbcfg->pfc.pfccap & 0xF;
1455 buf[1] = dcbcfg->pfc.pfcena;
1461 * @dcbcfg: Local store which holds the APP CFG data
1467 struct ice_dcbx_cfg *dcbcfg)
1475 if (dcbcfg->numapps == 0)
1491 while (i < dcbcfg->numapps) {
1492 priority = dcbcfg->app[i].priority & 0x7;
1493 selector = dcbcfg->app[i].selector & 0x7;
1495 buf[offset + 1] = (dcbcfg->app[i].prot_id >> 0x8) & 0xFF;
1496 buf[offset + 2] = dcbcfg->app[i].prot_id & 0xFF;
1512 * @dcbcfg: location of data to convert to TLV
1515 ice_add_dscp_up_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1533 buf[i] = dcbcfg->dscp_map[i];
1535 buf[i + ICE_DSCP_IPV6_OFFSET] = dcbcfg->dscp_map[i];
1572 * @dcbcfg: location of the data to convert to TLV
1576 struct ice_dcbx_cfg *dcbcfg)
1599 etscfg = &dcbcfg->etscfg;
1621 * @dcbcfg: Local store which holds the PFC CFG data
1624 ice_add_dscp_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1638 buf[0] = dcbcfg->pfc.pfccap & 0xF;
1639 buf[1] = dcbcfg->pfc.pfcena;
1645 * @dcbcfg: Local store which holds the DCB Config
1651 ice_add_dcb_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg,
1654 if (dcbcfg->pfc_mode == ICE_QOS_MODE_VLAN) {
1657 ice_add_ieee_ets_tlv(tlv, dcbcfg);
1660 ice_add_ieee_etsrec_tlv(tlv, dcbcfg);
1663 ice_add_ieee_pfc_tlv(tlv, dcbcfg);
1666 ice_add_ieee_app_pri_tlv(tlv, dcbcfg);
1675 ice_add_dscp_up_tlv(tlv, dcbcfg);
1681 ice_add_dscp_tc_bw_tlv(tlv, dcbcfg);
1684 ice_add_dscp_pfc_tlv(tlv, dcbcfg);
1696 * @dcbcfg: Local store which holds the DCB Config
1700 void ice_dcb_cfg_to_lldp(u8 *lldpmib, u16 *miblen, struct ice_dcbx_cfg *dcbcfg)
1708 ice_add_dcb_tlv(tlv, dcbcfg, tlvid++);
1734 struct ice_dcbx_cfg *dcbcfg;
1745 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
1752 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
1755 ice_dcb_cfg_to_lldp(lldpmib, &miblen, dcbcfg);