Lines Matching defs:fsp

2538 	struct ethtool_rx_flow_spec *fsp =
2548 if (fsp->location <= rule->sw_idx)
2552 if (!rule || fsp->location != rule->sw_idx)
2560 fsp->flow_type = TCP_V4_FLOW;
2563 fsp->flow_type = UDP_V4_FLOW;
2566 fsp->flow_type = SCTP_V4_FLOW;
2569 fsp->flow_type = IP_USER_FLOW;
2570 fsp->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
2571 fsp->h_u.usr_ip4_spec.proto = 0;
2572 fsp->m_u.usr_ip4_spec.proto = 0;
2578 fsp->h_u.tcp_ip4_spec.psrc = rule->filter.formatted.src_port;
2579 fsp->m_u.tcp_ip4_spec.psrc = mask->formatted.src_port;
2580 fsp->h_u.tcp_ip4_spec.pdst = rule->filter.formatted.dst_port;
2581 fsp->m_u.tcp_ip4_spec.pdst = mask->formatted.dst_port;
2582 fsp->h_u.tcp_ip4_spec.ip4src = rule->filter.formatted.src_ip[0];
2583 fsp->m_u.tcp_ip4_spec.ip4src = mask->formatted.src_ip[0];
2584 fsp->h_u.tcp_ip4_spec.ip4dst = rule->filter.formatted.dst_ip[0];
2585 fsp->m_u.tcp_ip4_spec.ip4dst = mask->formatted.dst_ip[0];
2586 fsp->h_ext.vlan_tci = rule->filter.formatted.vlan_id;
2587 fsp->m_ext.vlan_tci = mask->formatted.vlan_id;
2588 fsp->h_ext.vlan_etype = rule->filter.formatted.flex_bytes;
2589 fsp->m_ext.vlan_etype = mask->formatted.flex_bytes;
2590 fsp->h_ext.data[1] = htonl(rule->filter.formatted.vm_pool);
2591 fsp->m_ext.data[1] = htonl(mask->formatted.vm_pool);
2592 fsp->flow_type |= FLOW_EXT;
2596 fsp->ring_cookie = RX_CLS_FLOW_DISC;
2598 fsp->ring_cookie = rule->action;
2766 static int ixgbe_flowspec_to_flow_type(struct ethtool_rx_flow_spec *fsp,
2769 switch (fsp->flow_type & ~FLOW_EXT) {
2780 switch (fsp->h_u.usr_ip4_spec.proto) {
2791 if (!fsp->m_u.usr_ip4_spec.proto) {
2810 struct ethtool_rx_flow_spec *fsp =
2824 if (fsp->ring_cookie == RX_CLS_FLOW_DISC) {
2827 u32 ring = ethtool_get_flow_spec_ring(fsp->ring_cookie);
2828 u8 vf = ethtool_get_flow_spec_ring_vf(fsp->ring_cookie);
2846 if (fsp->location >= ((1024 << adapter->fdir_pballoc) - 2)) {
2858 input->sw_idx = fsp->location;
2861 if (!ixgbe_flowspec_to_flow_type(fsp,
2874 input->filter.formatted.src_ip[0] = fsp->h_u.tcp_ip4_spec.ip4src;
2875 mask.formatted.src_ip[0] = fsp->m_u.tcp_ip4_spec.ip4src;
2876 input->filter.formatted.dst_ip[0] = fsp->h_u.tcp_ip4_spec.ip4dst;
2877 mask.formatted.dst_ip[0] = fsp->m_u.tcp_ip4_spec.ip4dst;
2878 input->filter.formatted.src_port = fsp->h_u.tcp_ip4_spec.psrc;
2879 mask.formatted.src_port = fsp->m_u.tcp_ip4_spec.psrc;
2880 input->filter.formatted.dst_port = fsp->h_u.tcp_ip4_spec.pdst;
2881 mask.formatted.dst_port = fsp->m_u.tcp_ip4_spec.pdst;
2883 if (fsp->flow_type & FLOW_EXT) {
2885 (unsigned char)ntohl(fsp->h_ext.data[1]);
2887 (unsigned char)ntohl(fsp->m_ext.data[1]);
2888 input->filter.formatted.vlan_id = fsp->h_ext.vlan_tci;
2889 mask.formatted.vlan_id = fsp->m_ext.vlan_tci;
2891 fsp->h_ext.vlan_etype;
2892 mask.formatted.flex_bytes = fsp->m_ext.vlan_etype;
2896 if (fsp->ring_cookie == RX_CLS_FLOW_DISC)
2899 input->action = fsp->ring_cookie;
2940 struct ethtool_rx_flow_spec *fsp =
2945 err = ixgbe_update_ethtool_fdir_entry(adapter, NULL, fsp->location);