/* cookie becomes filter_rule_id if rule is added successfully */ unsignedlong cookie;
/* add_adv_rule returns information like recipe ID, rule_id. Store * those values since they are needed to remove advanced rule
*/
u16 rid;
u16 rule_id; /* VSI handle of the destination VSI (it could be main PF VSI, CHNL_VSI, * VF VSI)
*/
u16 dest_vsi_handle; /* ptr to destination VSI */ struct ice_vsi *dest_vsi; /* direction of fltr for eswitch use case */ enum ice_eswitch_fltr_direction direction;
/* cache ptr which is used wherever needed to communicate netlink * messages
*/ struct netlink_ext_ack *extack;
};
/** * ice_is_chnl_fltr - is this a valid channel filter * @f: Pointer to tc-flower filter * * Criteria to determine of given filter is valid channel filter * or not is based on its destination. * For forward to VSI action, if destination is valid hw_tc (aka tc_class) * and in supported range of TCs for ADQ, then return true. * For forward to queue, as long as dest_vsi is valid and it is of type * VSI_CHNL (PF ADQ VSI is of type VSI_CHNL), return true. * NOTE: For forward to queue, correct dest_vsi is still set in tc_fltr based * on destination queue specified.
*/ staticinlinebool ice_is_chnl_fltr(struct ice_tc_flower_fltr *f)
{ if (f->action.fltr_act == ICE_FWD_TO_VSI) return f->action.fwd.tc.tc_class >= ICE_CHNL_START_TC &&
f->action.fwd.tc.tc_class < ICE_CHNL_MAX_TC; elseif (f->action.fltr_act == ICE_FWD_TO_Q) return f->dest_vsi && f->dest_vsi->type == ICE_VSI_CHNL;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.