gen_spec 1969 drivers/net/ethernet/sfc/falcon/farch.c const struct ef4_filter_spec *gen_spec) gen_spec 1973 drivers/net/ethernet/sfc/falcon/farch.c if ((gen_spec->flags & EF4_FILTER_FLAG_RX_RSS) && gen_spec 1974 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->rss_context != EF4_FILTER_RSS_CONTEXT_DEFAULT) gen_spec 1977 drivers/net/ethernet/sfc/falcon/farch.c spec->priority = gen_spec->priority; gen_spec 1978 drivers/net/ethernet/sfc/falcon/farch.c spec->flags = gen_spec->flags; gen_spec 1979 drivers/net/ethernet/sfc/falcon/farch.c spec->dmaq_id = gen_spec->dmaq_id; gen_spec 1981 drivers/net/ethernet/sfc/falcon/farch.c switch (gen_spec->match_flags) { gen_spec 1992 drivers/net/ethernet/sfc/falcon/farch.c EF4_BUG_ON_PARANOID(!(gen_spec->flags & EF4_FILTER_FLAG_RX)); gen_spec 1994 drivers/net/ethernet/sfc/falcon/farch.c if (gen_spec->ether_type != htons(ETH_P_IP)) gen_spec 1996 drivers/net/ethernet/sfc/falcon/farch.c if (gen_spec->loc_port == 0 || gen_spec 1997 drivers/net/ethernet/sfc/falcon/farch.c (is_full && gen_spec->rem_port == 0)) gen_spec 1999 drivers/net/ethernet/sfc/falcon/farch.c switch (gen_spec->ip_proto) { gen_spec 2017 drivers/net/ethernet/sfc/falcon/farch.c rhost = is_full ? gen_spec->rem_host[0] : 0; gen_spec 2018 drivers/net/ethernet/sfc/falcon/farch.c rport = is_full ? gen_spec->rem_port : 0; gen_spec 2020 drivers/net/ethernet/sfc/falcon/farch.c host2 = gen_spec->loc_host[0]; gen_spec 2021 drivers/net/ethernet/sfc/falcon/farch.c if (!is_full && gen_spec->ip_proto == IPPROTO_UDP) { gen_spec 2022 drivers/net/ethernet/sfc/falcon/farch.c port1 = gen_spec->loc_port; gen_spec 2026 drivers/net/ethernet/sfc/falcon/farch.c port2 = gen_spec->loc_port; gen_spec 2041 drivers/net/ethernet/sfc/falcon/farch.c spec->data[0] = is_full ? ntohs(gen_spec->outer_vid) : 0; gen_spec 2042 drivers/net/ethernet/sfc/falcon/farch.c spec->data[1] = (gen_spec->loc_mac[2] << 24 | gen_spec 2043 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[3] << 16 | gen_spec 2044 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[4] << 8 | gen_spec 2045 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[5]); gen_spec 2046 drivers/net/ethernet/sfc/falcon/farch.c spec->data[2] = (gen_spec->loc_mac[0] << 8 | gen_spec 2047 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[1]); gen_spec 2051 drivers/net/ethernet/sfc/falcon/farch.c spec->type = (is_multicast_ether_addr(gen_spec->loc_mac) ? gen_spec 2065 drivers/net/ethernet/sfc/falcon/farch.c ef4_farch_filter_to_gen_spec(struct ef4_filter_spec *gen_spec, gen_spec 2074 drivers/net/ethernet/sfc/falcon/farch.c memset(gen_spec, 0, sizeof(*gen_spec)); gen_spec 2076 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->priority = spec->priority; gen_spec 2077 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->flags = spec->flags; gen_spec 2078 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->dmaq_id = spec->dmaq_id; gen_spec 2090 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->match_flags = gen_spec 2095 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->match_flags |= (EF4_FILTER_MATCH_REM_HOST | gen_spec 2097 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->ether_type = htons(ETH_P_IP); gen_spec 2098 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->ip_proto = gen_spec 2108 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_host[0] = host1; gen_spec 2109 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->rem_host[0] = host2; gen_spec 2111 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_host[0] = host2; gen_spec 2112 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->rem_host[0] = host1; gen_spec 2114 drivers/net/ethernet/sfc/falcon/farch.c if (!!(gen_spec->flags & EF4_FILTER_FLAG_TX) ^ gen_spec 2115 drivers/net/ethernet/sfc/falcon/farch.c (!is_full && gen_spec->ip_proto == IPPROTO_UDP)) { gen_spec 2116 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_port = port1; gen_spec 2117 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->rem_port = port2; gen_spec 2119 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_port = port2; gen_spec 2120 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->rem_port = port1; gen_spec 2130 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->match_flags = EF4_FILTER_MATCH_LOC_MAC; gen_spec 2132 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->match_flags |= EF4_FILTER_MATCH_OUTER_VID; gen_spec 2133 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[0] = spec->data[2] >> 8; gen_spec 2134 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[1] = spec->data[2]; gen_spec 2135 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[2] = spec->data[1] >> 24; gen_spec 2136 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[3] = spec->data[1] >> 16; gen_spec 2137 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[4] = spec->data[1] >> 8; gen_spec 2138 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[5] = spec->data[1]; gen_spec 2139 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->outer_vid = htons(spec->data[0]); gen_spec 2144 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->match_flags = EF4_FILTER_MATCH_LOC_MAC_IG; gen_spec 2145 drivers/net/ethernet/sfc/falcon/farch.c gen_spec->loc_mac[0] = spec->type == EF4_FARCH_FILTER_MC_DEF; gen_spec 2324 drivers/net/ethernet/sfc/falcon/farch.c struct ef4_filter_spec *gen_spec, gen_spec 2335 drivers/net/ethernet/sfc/falcon/farch.c rc = ef4_farch_filter_from_gen_spec(&spec, gen_spec); gen_spec 2831 drivers/net/ethernet/sfc/falcon/farch.c struct ef4_filter_spec *gen_spec) gen_spec 2833 drivers/net/ethernet/sfc/falcon/farch.c return ef4_farch_filter_insert(efx, gen_spec, true); gen_spec 2029 drivers/net/ethernet/sfc/farch.c const struct efx_filter_spec *gen_spec) gen_spec 2033 drivers/net/ethernet/sfc/farch.c if ((gen_spec->flags & EFX_FILTER_FLAG_RX_RSS) && gen_spec->rss_context) gen_spec 2036 drivers/net/ethernet/sfc/farch.c spec->priority = gen_spec->priority; gen_spec 2037 drivers/net/ethernet/sfc/farch.c spec->flags = gen_spec->flags; gen_spec 2038 drivers/net/ethernet/sfc/farch.c spec->dmaq_id = gen_spec->dmaq_id; gen_spec 2040 drivers/net/ethernet/sfc/farch.c switch (gen_spec->match_flags) { gen_spec 2051 drivers/net/ethernet/sfc/farch.c EFX_WARN_ON_PARANOID(!(gen_spec->flags & EFX_FILTER_FLAG_RX)); gen_spec 2053 drivers/net/ethernet/sfc/farch.c if (gen_spec->ether_type != htons(ETH_P_IP)) gen_spec 2055 drivers/net/ethernet/sfc/farch.c if (gen_spec->loc_port == 0 || gen_spec 2056 drivers/net/ethernet/sfc/farch.c (is_full && gen_spec->rem_port == 0)) gen_spec 2058 drivers/net/ethernet/sfc/farch.c switch (gen_spec->ip_proto) { gen_spec 2076 drivers/net/ethernet/sfc/farch.c rhost = is_full ? gen_spec->rem_host[0] : 0; gen_spec 2077 drivers/net/ethernet/sfc/farch.c rport = is_full ? gen_spec->rem_port : 0; gen_spec 2079 drivers/net/ethernet/sfc/farch.c host2 = gen_spec->loc_host[0]; gen_spec 2080 drivers/net/ethernet/sfc/farch.c if (!is_full && gen_spec->ip_proto == IPPROTO_UDP) { gen_spec 2081 drivers/net/ethernet/sfc/farch.c port1 = gen_spec->loc_port; gen_spec 2085 drivers/net/ethernet/sfc/farch.c port2 = gen_spec->loc_port; gen_spec 2100 drivers/net/ethernet/sfc/farch.c spec->data[0] = is_full ? ntohs(gen_spec->outer_vid) : 0; gen_spec 2101 drivers/net/ethernet/sfc/farch.c spec->data[1] = (gen_spec->loc_mac[2] << 24 | gen_spec 2102 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[3] << 16 | gen_spec 2103 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[4] << 8 | gen_spec 2104 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[5]); gen_spec 2105 drivers/net/ethernet/sfc/farch.c spec->data[2] = (gen_spec->loc_mac[0] << 8 | gen_spec 2106 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[1]); gen_spec 2110 drivers/net/ethernet/sfc/farch.c spec->type = (is_multicast_ether_addr(gen_spec->loc_mac) ? gen_spec 2124 drivers/net/ethernet/sfc/farch.c efx_farch_filter_to_gen_spec(struct efx_filter_spec *gen_spec, gen_spec 2133 drivers/net/ethernet/sfc/farch.c memset(gen_spec, 0, sizeof(*gen_spec)); gen_spec 2135 drivers/net/ethernet/sfc/farch.c gen_spec->priority = spec->priority; gen_spec 2136 drivers/net/ethernet/sfc/farch.c gen_spec->flags = spec->flags; gen_spec 2137 drivers/net/ethernet/sfc/farch.c gen_spec->dmaq_id = spec->dmaq_id; gen_spec 2149 drivers/net/ethernet/sfc/farch.c gen_spec->match_flags = gen_spec 2154 drivers/net/ethernet/sfc/farch.c gen_spec->match_flags |= (EFX_FILTER_MATCH_REM_HOST | gen_spec 2156 drivers/net/ethernet/sfc/farch.c gen_spec->ether_type = htons(ETH_P_IP); gen_spec 2157 drivers/net/ethernet/sfc/farch.c gen_spec->ip_proto = gen_spec 2167 drivers/net/ethernet/sfc/farch.c gen_spec->loc_host[0] = host1; gen_spec 2168 drivers/net/ethernet/sfc/farch.c gen_spec->rem_host[0] = host2; gen_spec 2170 drivers/net/ethernet/sfc/farch.c gen_spec->loc_host[0] = host2; gen_spec 2171 drivers/net/ethernet/sfc/farch.c gen_spec->rem_host[0] = host1; gen_spec 2173 drivers/net/ethernet/sfc/farch.c if (!!(gen_spec->flags & EFX_FILTER_FLAG_TX) ^ gen_spec 2174 drivers/net/ethernet/sfc/farch.c (!is_full && gen_spec->ip_proto == IPPROTO_UDP)) { gen_spec 2175 drivers/net/ethernet/sfc/farch.c gen_spec->loc_port = port1; gen_spec 2176 drivers/net/ethernet/sfc/farch.c gen_spec->rem_port = port2; gen_spec 2178 drivers/net/ethernet/sfc/farch.c gen_spec->loc_port = port2; gen_spec 2179 drivers/net/ethernet/sfc/farch.c gen_spec->rem_port = port1; gen_spec 2189 drivers/net/ethernet/sfc/farch.c gen_spec->match_flags = EFX_FILTER_MATCH_LOC_MAC; gen_spec 2191 drivers/net/ethernet/sfc/farch.c gen_spec->match_flags |= EFX_FILTER_MATCH_OUTER_VID; gen_spec 2192 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[0] = spec->data[2] >> 8; gen_spec 2193 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[1] = spec->data[2]; gen_spec 2194 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[2] = spec->data[1] >> 24; gen_spec 2195 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[3] = spec->data[1] >> 16; gen_spec 2196 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[4] = spec->data[1] >> 8; gen_spec 2197 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[5] = spec->data[1]; gen_spec 2198 drivers/net/ethernet/sfc/farch.c gen_spec->outer_vid = htons(spec->data[0]); gen_spec 2203 drivers/net/ethernet/sfc/farch.c gen_spec->match_flags = EFX_FILTER_MATCH_LOC_MAC_IG; gen_spec 2204 drivers/net/ethernet/sfc/farch.c gen_spec->loc_mac[0] = spec->type == EFX_FARCH_FILTER_MC_DEF; gen_spec 2383 drivers/net/ethernet/sfc/farch.c struct efx_filter_spec *gen_spec, gen_spec 2394 drivers/net/ethernet/sfc/farch.c rc = efx_farch_filter_from_gen_spec(&spec, gen_spec);