Lines Matching full:app
685 * ice_dcbnl_getapp - get CEE APP
687 * @idtype: the App selector
688 * @id: the App ethtype or port number
693 struct dcb_app app = { in ice_dcbnl_getapp() local
702 return dcb_getapp(netdev, &app); in ice_dcbnl_getapp()
706 * ice_dcbnl_find_app - Search for APP in given DCB config
708 * @app: struct to hold app data to look for
712 struct ice_dcb_app_priority_table *app) in ice_dcbnl_find_app() argument
717 if (app->selector == cfg->app[i].selector && in ice_dcbnl_find_app()
718 app->prot_id == cfg->app[i].prot_id && in ice_dcbnl_find_app()
719 app->priority == cfg->app[i].priority) in ice_dcbnl_find_app()
729 * ice_dcbnl_setapp - set local IEEE App config
731 * @app: struct to hold app config info
733 static int ice_dcbnl_setapp(struct net_device *netdev, struct dcb_app *app) in ice_dcbnl_setapp() argument
741 /* ONLY DSCP APP TLVs have operational significance */ in ice_dcbnl_setapp()
742 if (app->selector != IEEE_8021QAZ_APP_SEL_DSCP) in ice_dcbnl_setapp()
745 /* only allow APP TLVs in SW Mode */ in ice_dcbnl_setapp()
757 if (app->protocol >= ICE_DSCP_NUM_VAL) { in ice_dcbnl_setapp()
759 app->protocol); in ice_dcbnl_setapp()
769 if (app->priority >= max_tc) { in ice_dcbnl_setapp()
771 app->priority, max_tc); in ice_dcbnl_setapp()
781 ret = dcb_ieee_setapp(netdev, app); in ice_dcbnl_setapp()
785 if (test_and_set_bit(app->protocol, new_cfg->dscp_mapped)) { in ice_dcbnl_setapp()
787 app->protocol); in ice_dcbnl_setapp()
788 ret = dcb_ieee_delapp(netdev, app); in ice_dcbnl_setapp()
795 new_app.selector = app->selector; in ice_dcbnl_setapp()
796 new_app.prot_id = app->protocol; in ice_dcbnl_setapp()
797 new_app.priority = app->priority; in ice_dcbnl_setapp()
845 new_cfg->dscp_map[app->protocol] = app->priority; in ice_dcbnl_setapp()
846 new_cfg->app[new_cfg->numapps++] = new_app; in ice_dcbnl_setapp()
861 * ice_dcbnl_delapp - Delete local IEEE App config
863 * @app: struct to hold app too delete
867 static int ice_dcbnl_delapp(struct net_device *netdev, struct dcb_app *app) in ice_dcbnl_delapp() argument
875 netdev_err(netdev, "can't delete DSCP netlink app when FW DCB agent is active\n"); in ice_dcbnl_delapp()
887 ret = dcb_ieee_delapp(netdev, app); in ice_dcbnl_delapp()
894 if (app->selector == new_cfg->app[i].selector && in ice_dcbnl_delapp()
895 app->protocol == new_cfg->app[i].prot_id && in ice_dcbnl_delapp()
896 app->priority == new_cfg->app[i].priority) { in ice_dcbnl_delapp()
897 new_cfg->app[i].selector = 0; in ice_dcbnl_delapp()
898 new_cfg->app[i].prot_id = 0; in ice_dcbnl_delapp()
899 new_cfg->app[i].priority = 0; in ice_dcbnl_delapp()
904 /* Did not find DCB App */ in ice_dcbnl_delapp()
913 new_cfg->app[j].selector = old_cfg->app[j + 1].selector; in ice_dcbnl_delapp()
914 new_cfg->app[j].prot_id = old_cfg->app[j + 1].prot_id; in ice_dcbnl_delapp()
915 new_cfg->app[j].priority = old_cfg->app[j + 1].priority; in ice_dcbnl_delapp()
918 /* if not a DSCP APP TLV or DSCP is not supported, we are done */ in ice_dcbnl_delapp()
919 if (app->selector != IEEE_8021QAZ_APP_SEL_DSCP || in ice_dcbnl_delapp()
926 clear_bit(app->protocol, new_cfg->dscp_mapped); in ice_dcbnl_delapp()
928 new_cfg->dscp_map[app->protocol] = app->protocol % in ice_dcbnl_delapp()
1066 prio = dcbxcfg->app[i].priority; in ice_dcbnl_set_all()
1069 /* Add APP only if the TC is enabled for this VSI */ in ice_dcbnl_set_all()
1071 sapp.selector = dcbxcfg->app[i].selector; in ice_dcbnl_set_all()
1072 sapp.protocol = dcbxcfg->app[i].prot_id; in ice_dcbnl_set_all()
1082 * ice_dcbnl_vsi_del_app - Delete APP on all VSIs
1084 * @app: APP to delete
1086 * Delete given APP from all the VSIs for given PF
1090 struct ice_dcb_app_priority_table *app) in ice_dcbnl_vsi_del_app() argument
1095 sapp.selector = app->selector; in ice_dcbnl_vsi_del_app()
1096 sapp.protocol = app->prot_id; in ice_dcbnl_vsi_del_app()
1097 sapp.priority = app->priority; in ice_dcbnl_vsi_del_app()
1099 …dev_dbg(ice_pf_to_dev(vsi->back), "Deleting app for VSI idx=%d err=%d sel=%d proto=0x%x, prio=%d\n… in ice_dcbnl_vsi_del_app()
1100 vsi->idx, err, app->selector, app->prot_id, app->priority); in ice_dcbnl_vsi_del_app()
1123 struct ice_dcb_app_priority_table app = old_cfg->app[i]; in ice_dcbnl_flush_apps() local
1125 /* The APP is not available anymore delete it */ in ice_dcbnl_flush_apps()
1126 if (!ice_dcbnl_find_app(new_cfg, &app)) in ice_dcbnl_flush_apps()
1127 ice_dcbnl_vsi_del_app(main_vsi, &app); in ice_dcbnl_flush_apps()