Lines Matching defs:fs

1647 static void cxgb4_fill_filter_rule(struct ethtool_rx_flow_spec *fs,
1653 fs->flow_type = TCP_V6_FLOW;
1655 fs->flow_type = TCP_V4_FLOW;
1659 fs->flow_type = UDP_V6_FLOW;
1661 fs->flow_type = UDP_V4_FLOW;
1666 fs->h_u.tcp_ip6_spec.psrc = cpu_to_be16(dfs->val.fport);
1667 fs->m_u.tcp_ip6_spec.psrc = cpu_to_be16(dfs->mask.fport);
1668 fs->h_u.tcp_ip6_spec.pdst = cpu_to_be16(dfs->val.lport);
1669 fs->m_u.tcp_ip6_spec.pdst = cpu_to_be16(dfs->mask.lport);
1670 memcpy(&fs->h_u.tcp_ip6_spec.ip6src, &dfs->val.fip[0],
1671 sizeof(fs->h_u.tcp_ip6_spec.ip6src));
1672 memcpy(&fs->m_u.tcp_ip6_spec.ip6src, &dfs->mask.fip[0],
1673 sizeof(fs->m_u.tcp_ip6_spec.ip6src));
1674 memcpy(&fs->h_u.tcp_ip6_spec.ip6dst, &dfs->val.lip[0],
1675 sizeof(fs->h_u.tcp_ip6_spec.ip6dst));
1676 memcpy(&fs->m_u.tcp_ip6_spec.ip6dst, &dfs->mask.lip[0],
1677 sizeof(fs->m_u.tcp_ip6_spec.ip6dst));
1678 fs->h_u.tcp_ip6_spec.tclass = dfs->val.tos;
1679 fs->m_u.tcp_ip6_spec.tclass = dfs->mask.tos;
1681 fs->h_u.tcp_ip4_spec.psrc = cpu_to_be16(dfs->val.fport);
1682 fs->m_u.tcp_ip4_spec.psrc = cpu_to_be16(dfs->mask.fport);
1683 fs->h_u.tcp_ip4_spec.pdst = cpu_to_be16(dfs->val.lport);
1684 fs->m_u.tcp_ip4_spec.pdst = cpu_to_be16(dfs->mask.lport);
1685 memcpy(&fs->h_u.tcp_ip4_spec.ip4src, &dfs->val.fip[0],
1686 sizeof(fs->h_u.tcp_ip4_spec.ip4src));
1687 memcpy(&fs->m_u.tcp_ip4_spec.ip4src, &dfs->mask.fip[0],
1688 sizeof(fs->m_u.tcp_ip4_spec.ip4src));
1689 memcpy(&fs->h_u.tcp_ip4_spec.ip4dst, &dfs->val.lip[0],
1690 sizeof(fs->h_u.tcp_ip4_spec.ip4dst));
1691 memcpy(&fs->m_u.tcp_ip4_spec.ip4dst, &dfs->mask.lip[0],
1692 sizeof(fs->m_u.tcp_ip4_spec.ip4dst));
1693 fs->h_u.tcp_ip4_spec.tos = dfs->val.tos;
1694 fs->m_u.tcp_ip4_spec.tos = dfs->mask.tos;
1696 fs->h_ext.vlan_tci = cpu_to_be16(dfs->val.ivlan);
1697 fs->m_ext.vlan_tci = cpu_to_be16(dfs->mask.ivlan);
1698 fs->flow_type |= FLOW_EXT;
1701 fs->ring_cookie = RX_CLS_FLOW_DISC;
1703 fs->ring_cookie = dfs->iq;
1733 cxgb4_fill_filter_rule(&cmd->fs, &f->fs);
1805 return cxgb4_ntuple_get_filter(dev, info, info->fs.location);
1836 if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
1845 if (!test_bit(cmd->fs.location, filter_info->bmap))
1848 filter_id = filter_info->loc_array[cmd->fs.location];
1851 if (f->fs.prio)
1853 else if (!f->fs.hash)
1856 ret = cxgb4_flow_rule_destroy(dev, f->fs.tc_prio, &f->fs, filter_id);
1860 clear_bit(cmd->fs.location, filter_info->bmap);
1875 struct ch_filter_specification fs;
1886 if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
1893 if (test_bit(cmd->fs.location,
1897 memset(&fs, 0, sizeof(fs));
1899 input.fs = &cmd->fs;
1906 fs.hitcnts = 1;
1908 ret = cxgb4_flow_rule_replace(netdev, flow->rule, cmd->fs.location,
1909 NULL, &fs, &tid);
1915 if (fs.prio)
1917 else if (!fs.hash)
1920 filter_info->loc_array[cmd->fs.location] = tid;
1921 set_bit(cmd->fs.location, filter_info->bmap);