Lines Matching refs:seg
685 static u16 ice_flow_calc_seg_sz(struct ice_flow_prof_params *params, u8 seg) in ice_flow_calc_seg_sz() argument
690 sz = (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_VLAN) ? in ice_flow_calc_seg_sz()
694 if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV4) in ice_flow_calc_seg_sz()
696 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV6) in ice_flow_calc_seg_sz()
698 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_ARP) in ice_flow_calc_seg_sz()
700 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDRS_L4_MASK) in ice_flow_calc_seg_sz()
705 if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_ICMP) in ice_flow_calc_seg_sz()
707 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_TCP) in ice_flow_calc_seg_sz()
709 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_UDP) in ice_flow_calc_seg_sz()
711 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_SCTP) in ice_flow_calc_seg_sz()
923 u8 seg, enum ice_flow_field fld, u64 match) in ice_flow_xtract_fld() argument
934 flds = params->prof->segs[seg].fields; in ice_flow_xtract_fld()
941 prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; in ice_flow_xtract_fld()
944 prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; in ice_flow_xtract_fld()
947 prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; in ice_flow_xtract_fld()
950 prot_id = seg == 0 ? ICE_PROT_IPV6_OF_OR_S : ICE_PROT_IPV6_IL; in ice_flow_xtract_fld()
954 prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; in ice_flow_xtract_fld()
973 prot_id = seg == 0 ? ICE_PROT_IPV6_OF_OR_S : ICE_PROT_IPV6_IL; in ice_flow_xtract_fld()
992 prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; in ice_flow_xtract_fld()
996 prot_id = seg == 0 ? ICE_PROT_IPV6_OF_OR_S : ICE_PROT_IPV6_IL; in ice_flow_xtract_fld()
1048 prot_id = (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV4) ? in ice_flow_xtract_fld()
1124 u8 seg) in ice_flow_xtract_raws() argument
1130 if (!params->prof->segs[seg].raws_cnt) in ice_flow_xtract_raws()
1133 if (params->prof->segs[seg].raws_cnt > in ice_flow_xtract_raws()
1134 ARRAY_SIZE(params->prof->segs[seg].raws)) in ice_flow_xtract_raws()
1138 hdrs_sz = ice_flow_calc_seg_sz(params, seg); in ice_flow_xtract_raws()
1144 for (i = 0; i < params->prof->segs[seg].raws_cnt; i++) { in ice_flow_xtract_raws()
1148 raw = ¶ms->prof->segs[seg].raws[i]; in ice_flow_xtract_raws()
1830 ice_flow_set_fld_ext(struct ice_flow_seg_info *seg, enum ice_flow_field fld, in ice_flow_set_fld_ext() argument
1836 seg->match |= bit; in ice_flow_set_fld_ext()
1838 seg->range |= bit; in ice_flow_set_fld_ext()
1840 seg->fields[fld].type = field_type; in ice_flow_set_fld_ext()
1841 seg->fields[fld].src.val = val_loc; in ice_flow_set_fld_ext()
1842 seg->fields[fld].src.mask = mask_loc; in ice_flow_set_fld_ext()
1843 seg->fields[fld].src.last = last_loc; in ice_flow_set_fld_ext()
1845 ICE_FLOW_SET_HDRS(seg, ice_flds_info[fld].hdr); in ice_flow_set_fld_ext()
1869 ice_flow_set_fld(struct ice_flow_seg_info *seg, enum ice_flow_field fld, in ice_flow_set_fld() argument
1875 ice_flow_set_fld_ext(seg, fld, t, val_loc, mask_loc, last_loc); in ice_flow_set_fld()
1896 ice_flow_add_fld_raw(struct ice_flow_seg_info *seg, u16 off, u8 len, in ice_flow_add_fld_raw() argument
1899 if (seg->raws_cnt < ICE_FLOW_SEG_RAW_FLD_MAX) { in ice_flow_add_fld_raw()
1900 seg->raws[seg->raws_cnt].off = off; in ice_flow_add_fld_raw()
1901 seg->raws[seg->raws_cnt].info.type = ICE_FLOW_FLD_TYPE_SIZE; in ice_flow_add_fld_raw()
1902 seg->raws[seg->raws_cnt].info.src.val = val_loc; in ice_flow_add_fld_raw()
1903 seg->raws[seg->raws_cnt].info.src.mask = mask_loc; in ice_flow_add_fld_raw()
1905 seg->raws[seg->raws_cnt].info.src.last = len; in ice_flow_add_fld_raw()
1911 seg->raws_cnt++; in ice_flow_add_fld_raw()
1993 struct ice_flow_seg_info *seg; in ice_flow_set_rss_seg_info() local
1998 seg = &segs[seg_cnt - 1]; in ice_flow_set_rss_seg_info()
2002 ice_flow_set_fld(seg, (enum ice_flow_field)i, in ice_flow_set_rss_seg_info()
2006 ICE_FLOW_SET_HDRS(seg, cfg->addl_hdrs); in ice_flow_set_rss_seg_info()
2016 if (seg->hdrs & ~ICE_FLOW_RSS_SEG_HDR_VAL_MASKS & in ice_flow_set_rss_seg_info()
2020 val = (u64)(seg->hdrs & ICE_FLOW_RSS_SEG_HDR_L3_MASKS); in ice_flow_set_rss_seg_info()
2024 val = (u64)(seg->hdrs & ICE_FLOW_RSS_SEG_HDR_L4_MASKS); in ice_flow_set_rss_seg_info()
2281 struct ice_flow_seg_info *seg; in ice_rss_set_symm() local
2283 seg = &prof->segs[prof->segs_cnt - 1]; in ice_rss_set_symm()
2285 ipv4_src = &seg->fields[ICE_FLOW_FIELD_IDX_IPV4_SA].xtrct; in ice_rss_set_symm()
2286 ipv4_dst = &seg->fields[ICE_FLOW_FIELD_IDX_IPV4_DA].xtrct; in ice_rss_set_symm()
2288 ipv6_src = &seg->fields[ICE_FLOW_FIELD_IDX_IPV6_SA].xtrct; in ice_rss_set_symm()
2289 ipv6_dst = &seg->fields[ICE_FLOW_FIELD_IDX_IPV6_DA].xtrct; in ice_rss_set_symm()
2291 tcp_src = &seg->fields[ICE_FLOW_FIELD_IDX_TCP_SRC_PORT].xtrct; in ice_rss_set_symm()
2292 tcp_dst = &seg->fields[ICE_FLOW_FIELD_IDX_TCP_DST_PORT].xtrct; in ice_rss_set_symm()
2294 udp_src = &seg->fields[ICE_FLOW_FIELD_IDX_UDP_SRC_PORT].xtrct; in ice_rss_set_symm()
2295 udp_dst = &seg->fields[ICE_FLOW_FIELD_IDX_UDP_DST_PORT].xtrct; in ice_rss_set_symm()
2297 sctp_src = &seg->fields[ICE_FLOW_FIELD_IDX_SCTP_SRC_PORT].xtrct; in ice_rss_set_symm()
2298 sctp_dst = &seg->fields[ICE_FLOW_FIELD_IDX_SCTP_DST_PORT].xtrct; in ice_rss_set_symm()