Lines Matching refs:seg
632 ice_fdir_set_hw_fltr_rule(struct ice_pf *pf, struct ice_flow_seg_info *seg, in ice_fdir_set_hw_fltr_rule() argument
666 if (!memcmp(old_seg, seg, sizeof(*seg))) in ice_fdir_set_hw_fltr_rule()
691 err = ice_flow_add_prof(hw, ICE_BLK_FD, ICE_FLOW_RX, seg, in ice_fdir_set_hw_fltr_rule()
697 seg, &entry1_h); in ice_fdir_set_hw_fltr_rule()
702 seg, &entry2_h); in ice_fdir_set_hw_fltr_rule()
706 hw_prof->fdir_seg[tun] = seg; in ice_fdir_set_hw_fltr_rule()
726 ICE_FLOW_PRIO_NORMAL, seg, in ice_fdir_set_hw_fltr_rule()
791 ice_set_init_fdir_seg(struct ice_flow_seg_info *seg, in ice_set_init_fdir_seg() argument
797 if (!seg) in ice_set_init_fdir_seg()
820 ICE_FLOW_SET_HDRS(seg, l3_proto | l4_proto); in ice_set_init_fdir_seg()
823 ice_flow_set_fld(seg, src_addr, ICE_FLOW_FLD_OFF_INVAL, in ice_set_init_fdir_seg()
827 ice_flow_set_fld(seg, dst_addr, ICE_FLOW_FLD_OFF_INVAL, in ice_set_init_fdir_seg()
831 ice_flow_set_fld(seg, src_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_init_fdir_seg()
835 ice_flow_set_fld(seg, dst_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_init_fdir_seg()
851 struct ice_flow_seg_info *seg, *tun_seg; in ice_create_init_fdir_rule() local
861 seg = devm_kzalloc(dev, sizeof(*seg), GFP_KERNEL); in ice_create_init_fdir_rule()
862 if (!seg) in ice_create_init_fdir_rule()
868 devm_kfree(dev, seg); in ice_create_init_fdir_rule()
873 ret = ice_set_init_fdir_seg(seg, ICE_FLOW_SEG_HDR_IPV4, in ice_create_init_fdir_rule()
876 ret = ice_set_init_fdir_seg(seg, ICE_FLOW_SEG_HDR_IPV4, in ice_create_init_fdir_rule()
879 ret = ice_set_init_fdir_seg(seg, ICE_FLOW_SEG_HDR_IPV6, in ice_create_init_fdir_rule()
882 ret = ice_set_init_fdir_seg(seg, ICE_FLOW_SEG_HDR_IPV6, in ice_create_init_fdir_rule()
890 ret = ice_fdir_set_hw_fltr_rule(pf, seg, flow, ICE_FD_HW_SEG_NON_TUN); in ice_create_init_fdir_rule()
896 memcpy(&tun_seg[1], seg, sizeof(*seg)); in ice_create_init_fdir_rule()
908 devm_kfree(dev, seg); in ice_create_init_fdir_rule()
925 ice_set_fdir_ip4_seg(struct ice_flow_seg_info *seg, in ice_set_fdir_ip4_seg() argument
954 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_IPV4 | l4_proto); in ice_set_fdir_ip4_seg()
958 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV4_SA, in ice_set_fdir_ip4_seg()
968 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV4_DA, in ice_set_fdir_ip4_seg()
978 ice_flow_set_fld(seg, src_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_fdir_ip4_seg()
988 ice_flow_set_fld(seg, dst_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_fdir_ip4_seg()
1010 ice_set_fdir_ip4_usr_seg(struct ice_flow_seg_info *seg, in ice_set_fdir_ip4_usr_seg() argument
1029 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_IPV4); in ice_set_fdir_ip4_usr_seg()
1033 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV4_SA, in ice_set_fdir_ip4_usr_seg()
1043 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV4_DA, in ice_set_fdir_ip4_usr_seg()
1066 ice_set_fdir_ip6_seg(struct ice_flow_seg_info *seg, in ice_set_fdir_ip6_seg() argument
1098 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_IPV6 | l4_proto); in ice_set_fdir_ip6_seg()
1102 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV6_SA, in ice_set_fdir_ip6_seg()
1113 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV6_DA, in ice_set_fdir_ip6_seg()
1124 ice_flow_set_fld(seg, src_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_fdir_ip6_seg()
1134 ice_flow_set_fld(seg, dst_port, ICE_FLOW_FLD_OFF_INVAL, in ice_set_fdir_ip6_seg()
1156 ice_set_fdir_ip6_usr_seg(struct ice_flow_seg_info *seg, in ice_set_fdir_ip6_usr_seg() argument
1177 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_IPV6); in ice_set_fdir_ip6_usr_seg()
1181 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV6_SA, in ice_set_fdir_ip6_usr_seg()
1192 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_IPV6_DA, in ice_set_fdir_ip6_usr_seg()
1239 struct ice_flow_seg_info *seg, in ice_set_ether_flow_seg() argument
1242 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_ETH); in ice_set_ether_flow_seg()
1252 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_ETH_TYPE, in ice_set_ether_flow_seg()
1263 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_ETH_SA, in ice_set_ether_flow_seg()
1271 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_ETH_DA, in ice_set_ether_flow_seg()
1292 ice_set_fdir_vlan_seg(struct ice_flow_seg_info *seg, in ice_set_fdir_vlan_seg() argument
1295 ICE_FLOW_SET_HDRS(seg, ICE_FLOW_SEG_HDR_VLAN); in ice_set_fdir_vlan_seg()
1301 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_S_VLAN, in ice_set_fdir_vlan_seg()
1311 ice_flow_set_fld(seg, ICE_FLOW_FIELD_IDX_C_VLAN, in ice_set_fdir_vlan_seg()
1332 struct ice_flow_seg_info *seg, *tun_seg; in ice_cfg_fdir_xtrct_seq() local
1339 seg = devm_kzalloc(dev, sizeof(*seg), GFP_KERNEL); in ice_cfg_fdir_xtrct_seq()
1340 if (!seg) in ice_cfg_fdir_xtrct_seq()
1346 devm_kfree(dev, seg); in ice_cfg_fdir_xtrct_seq()
1352 ret = ice_set_fdir_ip4_seg(seg, &fsp->m_u.tcp_ip4_spec, in ice_cfg_fdir_xtrct_seq()
1357 ret = ice_set_fdir_ip4_seg(seg, &fsp->m_u.tcp_ip4_spec, in ice_cfg_fdir_xtrct_seq()
1362 ret = ice_set_fdir_ip4_seg(seg, &fsp->m_u.tcp_ip4_spec, in ice_cfg_fdir_xtrct_seq()
1367 ret = ice_set_fdir_ip4_usr_seg(seg, &fsp->m_u.usr_ip4_spec, in ice_cfg_fdir_xtrct_seq()
1371 ret = ice_set_fdir_ip6_seg(seg, &fsp->m_u.tcp_ip6_spec, in ice_cfg_fdir_xtrct_seq()
1376 ret = ice_set_fdir_ip6_seg(seg, &fsp->m_u.tcp_ip6_spec, in ice_cfg_fdir_xtrct_seq()
1381 ret = ice_set_fdir_ip6_seg(seg, &fsp->m_u.tcp_ip6_spec, in ice_cfg_fdir_xtrct_seq()
1386 ret = ice_set_fdir_ip6_usr_seg(seg, &fsp->m_u.usr_ip6_spec, in ice_cfg_fdir_xtrct_seq()
1390 ret = ice_set_ether_flow_seg(dev, seg, &fsp->m_u.ether_spec); in ice_cfg_fdir_xtrct_seq()
1396 ret = ice_set_fdir_vlan_seg(seg, &fsp->m_ext); in ice_cfg_fdir_xtrct_seq()
1406 memcpy(&tun_seg[1], seg, sizeof(*seg)); in ice_cfg_fdir_xtrct_seq()
1410 ice_flow_add_fld_raw(seg, user->flex_offset, in ice_cfg_fdir_xtrct_seq()
1425 ret = ice_fdir_set_hw_fltr_rule(pf, seg, fltr_idx, in ice_cfg_fdir_xtrct_seq()
1437 memcpy(&tun_seg[1], seg, sizeof(*seg)); in ice_cfg_fdir_xtrct_seq()
1453 devm_kfree(dev, seg); in ice_cfg_fdir_xtrct_seq()