Lines Matching refs:input

221 		dev_err(ice_hw_to_dev(hw), "Missing input index for flow_type %d\n",
662 /* This flow_type already has a changed input set.
663 * If it matches the requested input set then we are
673 dev_err(dev, "Failed to add filter. Flow director filters on each port must have the same input set.\n");
678 dev_err(dev, "aRFS using perfect flow type %d, cannot change input set\n",
775 dev_err(dev, "Failed to add filter. Flow director filters on each port must have the same input set.\n");
1486 * @input: filter structure
1493 ice_fdir_write_fltr(struct ice_pf *pf, struct ice_fdir_fltr *input, bool add,
1517 ice_fdir_get_prgm_desc(hw, input, &desc, add);
1518 err = ice_fdir_get_gen_prgm_pkt(hw, input, pkt, false, is_tun);
1526 has_frag = ice_fdir_has_frag(input->flow_type);
1529 ice_fdir_get_prgm_desc(hw, input, &desc, add);
1530 err = ice_fdir_get_gen_prgm_pkt(hw, input, frag_pkt, true,
1557 * @input: filter structure
1563 ice_fdir_write_all_fltr(struct ice_pf *pf, struct ice_fdir_fltr *input,
1575 err = ice_fdir_write_fltr(pf, input, add, is_tun);
1709 * @input: filter structure
1715 ice_fdir_update_list_entry(struct ice_pf *pf, struct ice_fdir_fltr *input,
1739 if (!input && !hw->fdir_fltr_cnt[old_fltr->flow_type])
1747 if (!input)
1749 ice_fdir_list_add_fltr(hw, input);
1751 ice_update_per_q_fltr(vsi, input->orig_q_index, true);
1752 ice_fdir_update_cntrs(hw, input->flow_type, true);
1824 * ice_set_fdir_input_set - Set the input set for Flow Director
1827 * @input: filter structure
1831 struct ice_fdir_fltr *input)
1840 if (!vsi || !fsp || !input)
1867 input->fltr_id = fsp->location;
1868 input->q_index = q_index;
1875 input->orig_q_index = orig_q_index;
1876 input->dest_vsi = dest_vsi;
1877 input->dest_ctl = dest_ctl;
1878 input->fltr_status = ICE_FLTR_PRGM_DESC_FD_STATUS_FD_ID;
1879 input->cnt_index = ICE_FD_SB_STAT_IDX(hw->fd_ctr_base);
1880 input->flow_type = ice_ethtool_flow_to_fltr(flow_type);
1883 memcpy(input->ext_data.usr_def, fsp->h_ext.data,
1884 sizeof(input->ext_data.usr_def));
1885 input->ext_data.vlan_type = fsp->h_ext.vlan_etype;
1886 input->ext_data.vlan_tag = fsp->h_ext.vlan_tci;
1887 memcpy(input->ext_mask.usr_def, fsp->m_ext.data,
1888 sizeof(input->ext_mask.usr_def));
1889 input->ext_mask.vlan_type = fsp->m_ext.vlan_etype;
1890 input->ext_mask.vlan_tag = fsp->m_ext.vlan_tci;
1897 input->ip.v4.dst_port = fsp->h_u.tcp_ip4_spec.pdst;
1898 input->ip.v4.src_port = fsp->h_u.tcp_ip4_spec.psrc;
1899 input->ip.v4.dst_ip = fsp->h_u.tcp_ip4_spec.ip4dst;
1900 input->ip.v4.src_ip = fsp->h_u.tcp_ip4_spec.ip4src;
1901 input->mask.v4.dst_port = fsp->m_u.tcp_ip4_spec.pdst;
1902 input->mask.v4.src_port = fsp->m_u.tcp_ip4_spec.psrc;
1903 input->mask.v4.dst_ip = fsp->m_u.tcp_ip4_spec.ip4dst;
1904 input->mask.v4.src_ip = fsp->m_u.tcp_ip4_spec.ip4src;
1907 input->ip.v4.dst_ip = fsp->h_u.usr_ip4_spec.ip4dst;
1908 input->ip.v4.src_ip = fsp->h_u.usr_ip4_spec.ip4src;
1909 input->ip.v4.l4_header = fsp->h_u.usr_ip4_spec.l4_4_bytes;
1910 input->ip.v4.proto = fsp->h_u.usr_ip4_spec.proto;
1911 input->ip.v4.ip_ver = fsp->h_u.usr_ip4_spec.ip_ver;
1912 input->ip.v4.tos = fsp->h_u.usr_ip4_spec.tos;
1913 input->mask.v4.dst_ip = fsp->m_u.usr_ip4_spec.ip4dst;
1914 input->mask.v4.src_ip = fsp->m_u.usr_ip4_spec.ip4src;
1915 input->mask.v4.l4_header = fsp->m_u.usr_ip4_spec.l4_4_bytes;
1916 input->mask.v4.proto = fsp->m_u.usr_ip4_spec.proto;
1917 input->mask.v4.ip_ver = fsp->m_u.usr_ip4_spec.ip_ver;
1918 input->mask.v4.tos = fsp->m_u.usr_ip4_spec.tos;
1923 memcpy(input->ip.v6.dst_ip, fsp->h_u.usr_ip6_spec.ip6dst,
1925 memcpy(input->ip.v6.src_ip, fsp->h_u.usr_ip6_spec.ip6src,
1927 input->ip.v6.dst_port = fsp->h_u.tcp_ip6_spec.pdst;
1928 input->ip.v6.src_port = fsp->h_u.tcp_ip6_spec.psrc;
1929 input->ip.v6.tc = fsp->h_u.tcp_ip6_spec.tclass;
1930 memcpy(input->mask.v6.dst_ip, fsp->m_u.tcp_ip6_spec.ip6dst,
1932 memcpy(input->mask.v6.src_ip, fsp->m_u.tcp_ip6_spec.ip6src,
1934 input->mask.v6.dst_port = fsp->m_u.tcp_ip6_spec.pdst;
1935 input->mask.v6.src_port = fsp->m_u.tcp_ip6_spec.psrc;
1936 input->mask.v6.tc = fsp->m_u.tcp_ip6_spec.tclass;
1939 memcpy(input->ip.v6.dst_ip, fsp->h_u.usr_ip6_spec.ip6dst,
1941 memcpy(input->ip.v6.src_ip, fsp->h_u.usr_ip6_spec.ip6src,
1943 input->ip.v6.l4_header = fsp->h_u.usr_ip6_spec.l4_4_bytes;
1944 input->ip.v6.tc = fsp->h_u.usr_ip6_spec.tclass;
1948 input->ip.v6.proto = IPPROTO_NONE;
1950 input->ip.v6.proto = fsp->h_u.usr_ip6_spec.l4_proto;
1952 memcpy(input->mask.v6.dst_ip, fsp->m_u.usr_ip6_spec.ip6dst,
1954 memcpy(input->mask.v6.src_ip, fsp->m_u.usr_ip6_spec.ip6src,
1956 input->mask.v6.l4_header = fsp->m_u.usr_ip6_spec.l4_4_bytes;
1957 input->mask.v6.tc = fsp->m_u.usr_ip6_spec.tclass;
1958 input->mask.v6.proto = fsp->m_u.usr_ip6_spec.l4_proto;
1961 input->eth = fsp->h_u.ether_spec;
1962 input->eth_mask = fsp->m_u.ether_spec;
1983 struct ice_fdir_fltr *input;
2035 input = devm_kzalloc(dev, sizeof(*input), GFP_KERNEL);
2036 if (!input)
2039 ret = ice_set_fdir_input_set(vsi, fsp, input);
2044 if (ice_fdir_is_dup_fltr(hw, input)) {
2050 input->flex_fltr = true;
2051 input->flex_word = cpu_to_be16(userdata.flex_word);
2052 input->flex_offset = userdata.flex_offset;
2055 input->cnt_ena = ICE_FXD_FLTR_QW0_STAT_ENA_PKTS;
2056 input->fdid_prio = ICE_FXD_FLTR_QW1_FDID_PRI_THREE;
2057 input->comp_report = ICE_FXD_FLTR_QW0_COMP_REPORT_SW_FAIL;
2059 /* input struct is added to the HW filter list */
2060 ret = ice_fdir_update_list_entry(pf, input, fsp->location);
2064 ret = ice_fdir_write_all_fltr(pf, input, true);
2071 ice_fdir_update_cntrs(hw, input->flow_type, false);
2073 ice_update_per_q_fltr(vsi, input->orig_q_index, false);
2074 list_del(&input->fltr_node);
2079 devm_kfree(dev, input);