Lines Matching defs:fs

1082 	struct ethtool_rx_flow_spec *fs =
1083 (struct ethtool_rx_flow_spec *)&cmd->fs;
1090 if (fs->location >= bp->max_fltr)
1096 fs->location);
1098 struct ethhdr *h_ether = &fs->h_u.ether_spec;
1099 struct ethhdr *m_ether = &fs->m_u.ether_spec;
1105 fs->flow_type = ETHER_FLOW;
1109 struct ethtool_flow_ext *m_ext = &fs->m_ext;
1110 struct ethtool_flow_ext *h_ext = &fs->h_ext;
1112 fs->flow_type |= FLOW_EXT;
1117 fs->ring_cookie = fltr_base->rxq;
1119 fs->ring_cookie = (u64)(fltr_base->vf_idx + 1) <<
1126 fs->location);
1138 fs->flow_type = IP_USER_FLOW;
1139 fs->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
1141 fs->h_u.usr_ip4_spec.proto = IPPROTO_ICMP;
1143 fs->h_u.usr_ip4_spec.proto = IPPROTO_RAW;
1144 fs->m_u.usr_ip4_spec.proto = BNXT_IP_PROTO_FULL_MASK;
1146 fs->flow_type = TCP_V4_FLOW;
1148 fs->flow_type = UDP_V4_FLOW;
1153 fs->h_u.tcp_ip4_spec.ip4src = fkeys->addrs.v4addrs.src;
1154 fs->m_u.tcp_ip4_spec.ip4src = fmasks->addrs.v4addrs.src;
1155 fs->h_u.tcp_ip4_spec.ip4dst = fkeys->addrs.v4addrs.dst;
1156 fs->m_u.tcp_ip4_spec.ip4dst = fmasks->addrs.v4addrs.dst;
1157 if (fs->flow_type == TCP_V4_FLOW ||
1158 fs->flow_type == UDP_V4_FLOW) {
1159 fs->h_u.tcp_ip4_spec.psrc = fkeys->ports.src;
1160 fs->m_u.tcp_ip4_spec.psrc = fmasks->ports.src;
1161 fs->h_u.tcp_ip4_spec.pdst = fkeys->ports.dst;
1162 fs->m_u.tcp_ip4_spec.pdst = fmasks->ports.dst;
1167 fs->flow_type = IPV6_USER_FLOW;
1169 fs->h_u.usr_ip6_spec.l4_proto = IPPROTO_ICMPV6;
1171 fs->h_u.usr_ip6_spec.l4_proto = IPPROTO_RAW;
1172 fs->m_u.usr_ip6_spec.l4_proto = BNXT_IP_PROTO_FULL_MASK;
1174 fs->flow_type = TCP_V6_FLOW;
1176 fs->flow_type = UDP_V6_FLOW;
1181 *(struct in6_addr *)&fs->h_u.tcp_ip6_spec.ip6src[0] =
1183 *(struct in6_addr *)&fs->m_u.tcp_ip6_spec.ip6src[0] =
1185 *(struct in6_addr *)&fs->h_u.tcp_ip6_spec.ip6dst[0] =
1187 *(struct in6_addr *)&fs->m_u.tcp_ip6_spec.ip6dst[0] =
1189 if (fs->flow_type == TCP_V6_FLOW ||
1190 fs->flow_type == UDP_V6_FLOW) {
1191 fs->h_u.tcp_ip6_spec.psrc = fkeys->ports.src;
1192 fs->m_u.tcp_ip6_spec.psrc = fmasks->ports.src;
1193 fs->h_u.tcp_ip6_spec.pdst = fkeys->ports.dst;
1194 fs->m_u.tcp_ip6_spec.pdst = fmasks->ports.dst;
1199 fs->ring_cookie = RX_CLS_FLOW_DISC;
1201 fs->ring_cookie = fltr->base.rxq;
1241 struct ethtool_rx_flow_spec *fs)
1243 u32 ring = ethtool_get_flow_spec_ring(fs->ring_cookie);
1244 u8 vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
1245 struct ethhdr *h_ether = &fs->h_u.ether_spec;
1246 struct ethhdr *m_ether = &fs->m_u.ether_spec;
1260 if (fs->flow_type & FLOW_EXT) {
1261 struct ethtool_flow_ext *m_ext = &fs->m_ext;
1262 struct ethtool_flow_ext *h_ext = &fs->h_ext;
1288 fs->location = fltr->base.sw_id;
1317 struct ethtool_rx_flow_spec *fs = &cmd->fs;
1319 u32 flow_type = fs->flow_type & 0xff;
1330 vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
1331 ring = ethtool_get_flow_spec_ring(fs->ring_cookie);
1332 if ((fs->flow_type & (FLOW_MAC_EXT | FLOW_EXT)) || vf)
1336 if (!bnxt_verify_ntuple_ip4_flow(&fs->h_u.usr_ip4_spec,
1337 &fs->m_u.usr_ip4_spec))
1342 if (!bnxt_verify_ntuple_ip6_flow(&fs->h_u.usr_ip6_spec,
1343 &fs->m_u.usr_ip6_spec))
1360 struct ethtool_usrip4_spec *ip_spec = &fs->h_u.usr_ip4_spec;
1361 struct ethtool_usrip4_spec *ip_mask = &fs->m_u.usr_ip4_spec;
1373 struct ethtool_tcpip4_spec *ip_spec = &fs->h_u.tcp_ip4_spec;
1374 struct ethtool_tcpip4_spec *ip_mask = &fs->m_u.tcp_ip4_spec;
1391 struct ethtool_usrip6_spec *ip_spec = &fs->h_u.usr_ip6_spec;
1392 struct ethtool_usrip6_spec *ip_mask = &fs->m_u.usr_ip6_spec;
1404 struct ethtool_tcpip6_spec *ip_spec = &fs->h_u.tcp_ip6_spec;
1405 struct ethtool_tcpip6_spec *ip_mask = &fs->m_u.tcp_ip6_spec;
1440 if (fs->flow_type & FLOW_RSS) {
1453 if (fs->ring_cookie == RX_CLS_FLOW_DISC)
1465 fs->location = new_fltr->base.sw_id;
1477 struct ethtool_rx_flow_spec *fs = &cmd->fs;
1486 if (fs->location != RX_CLS_LOC_ANY)
1489 flow_type = fs->flow_type;
1498 if (fs->ring_cookie == RX_CLS_FLOW_DISC && flow_type != ETHER_FLOW)
1501 ring = ethtool_get_flow_spec_ring(fs->ring_cookie);
1502 vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
1511 rc = bnxt_add_l2_cls_rule(bp, fs);
1519 struct ethtool_rx_flow_spec *fs = &cmd->fs;
1522 u32 id = fs->location;