| /Linux-v5.15/drivers/net/ethernet/freescale/enetc/ |
| D | enetc_ethtool.c | 305 static int enetc_get_rsshash(struct ethtool_rxnfc *rxnfc) in enetc_get_rsshash() argument 321 if (rxnfc->flow_type >= ARRAY_SIZE(rsshash)) in enetc_get_rsshash() 324 rxnfc->data = rsshash[rxnfc->flow_type]; in enetc_get_rsshash() 412 static int enetc_get_rxnfc(struct net_device *ndev, struct ethtool_rxnfc *rxnfc, in enetc_get_rxnfc() argument 418 switch (rxnfc->cmd) { in enetc_get_rxnfc() 420 rxnfc->data = priv->num_rx_rings; in enetc_get_rxnfc() 424 return enetc_get_rsshash(rxnfc); in enetc_get_rxnfc() 427 rxnfc->data = priv->si->num_fs_entries; in enetc_get_rxnfc() 429 rxnfc->rule_cnt = 0; in enetc_get_rxnfc() 432 rxnfc->rule_cnt++; in enetc_get_rxnfc() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/freescale/dpaa2/ |
| D | dpaa2-ethtool.c | 688 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in dpaa2_eth_get_rxnfc() argument 694 switch (rxnfc->cmd) { in dpaa2_eth_get_rxnfc() 700 rxnfc->data = priv->rx_hash_fields; in dpaa2_eth_get_rxnfc() 703 rxnfc->data = dpaa2_eth_queue_count(priv); in dpaa2_eth_get_rxnfc() 706 rxnfc->rule_cnt = 0; in dpaa2_eth_get_rxnfc() 707 rxnfc->rule_cnt = dpaa2_eth_num_cls_rules(priv); in dpaa2_eth_get_rxnfc() 708 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc() 711 if (rxnfc->fs.location >= max_rules) in dpaa2_eth_get_rxnfc() 713 rxnfc->fs.location = array_index_nospec(rxnfc->fs.location, in dpaa2_eth_get_rxnfc() 715 if (!priv->cls_rules[rxnfc->fs.location].in_use) in dpaa2_eth_get_rxnfc() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/microchip/ |
| D | lan743x_ethtool.c | 541 struct ethtool_rxnfc *rxnfc, in lan743x_ethtool_get_rxnfc() argument 544 switch (rxnfc->cmd) { in lan743x_ethtool_get_rxnfc() 546 rxnfc->data = 0; in lan743x_ethtool_get_rxnfc() 547 switch (rxnfc->flow_type) { in lan743x_ethtool_get_rxnfc() 550 rxnfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in lan743x_ethtool_get_rxnfc() 553 rxnfc->data |= RXH_IP_SRC | RXH_IP_DST; in lan743x_ethtool_get_rxnfc() 558 rxnfc->data = LAN743X_USED_RX_CHANNELS; in lan743x_ethtool_get_rxnfc()
|
| /Linux-v5.15/drivers/net/ethernet/marvell/mvpp2/ |
| D | mvpp2_cls.c | 1337 struct ethtool_rxnfc *rxnfc) in mvpp2_ethtool_cls_rule_get() argument 1341 if (rxnfc->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW) in mvpp2_ethtool_cls_rule_get() 1344 efs = port->rfs_rules[rxnfc->fs.location]; in mvpp2_ethtool_cls_rule_get() 1348 memcpy(rxnfc, &efs->rxnfc, sizeof(efs->rxnfc)); in mvpp2_ethtool_cls_rule_get() 1412 memcpy(&efs->rxnfc, info, sizeof(*info)); in mvpp2_ethtool_cls_rule_ins() 1557 struct ethtool_rxnfc *rxnfc; in mvpp22_port_rss_ctx_delete() local 1570 rxnfc = &port->rfs_rules[i]->rxnfc; in mvpp22_port_rss_ctx_delete() 1571 if (!(rxnfc->fs.flow_type & FLOW_RSS) || in mvpp22_port_rss_ctx_delete() 1572 rxnfc->rss_context != port_ctx) in mvpp22_port_rss_ctx_delete() 1575 ret = mvpp2_ethtool_cls_rule_del(port, rxnfc); in mvpp22_port_rss_ctx_delete() [all …]
|
| D | mvpp2_cls.h | 306 struct ethtool_rxnfc *rxnfc);
|
| D | mvpp2.h | 1177 struct ethtool_rxnfc rxnfc; member
|
| /Linux-v5.15/net/ethtool/ |
| D | ioctl.c | 813 ethtool_rxnfc_copy_from_compat(struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_from_compat() argument 829 sizeof(rxnfc->fs.m_ext)); in ethtool_rxnfc_copy_from_compat() 838 *rxnfc = (struct ethtool_rxnfc) { in ethtool_rxnfc_copy_from_compat() 857 static int ethtool_rxnfc_copy_from_user(struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_from_user() argument 862 return ethtool_rxnfc_copy_from_compat(rxnfc, useraddr, size); in ethtool_rxnfc_copy_from_user() 864 if (copy_from_user(rxnfc, useraddr, size)) in ethtool_rxnfc_copy_from_user() 871 const struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_to_compat() argument 878 .cmd = rxnfc->cmd, in ethtool_rxnfc_copy_to_compat() 879 .flow_type = rxnfc->flow_type, in ethtool_rxnfc_copy_to_compat() 880 .data = rxnfc->data, in ethtool_rxnfc_copy_to_compat() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/amd/xgbe/ |
| D | xgbe-ethtool.c | 498 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in xgbe_get_rxnfc() argument 502 switch (rxnfc->cmd) { in xgbe_get_rxnfc() 504 rxnfc->data = pdata->rx_ring_count; in xgbe_get_rxnfc()
|
| /Linux-v5.15/drivers/net/dsa/mv88e6xxx/ |
| D | chip.c | 1954 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in mv88e6xxx_get_rxnfc() argument 1956 struct ethtool_rx_flow_spec *fs = &rxnfc->fs; in mv88e6xxx_get_rxnfc() 1964 switch (rxnfc->cmd) { in mv88e6xxx_get_rxnfc() 1966 rxnfc->data = 0; in mv88e6xxx_get_rxnfc() 1967 rxnfc->data |= RX_CLS_LOC_SPECIAL; in mv88e6xxx_get_rxnfc() 1968 rxnfc->rule_cnt = 0; in mv88e6xxx_get_rxnfc() 1971 rxnfc->rule_cnt++; in mv88e6xxx_get_rxnfc() 1983 rxnfc->data = 0; in mv88e6xxx_get_rxnfc() 1984 rxnfc->rule_cnt = 0; in mv88e6xxx_get_rxnfc() 1987 rule_locs[rxnfc->rule_cnt++] = id; in mv88e6xxx_get_rxnfc() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/stmicro/stmmac/ |
| D | stmmac_ethtool.c | 977 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in stmmac_get_rxnfc() argument 981 switch (rxnfc->cmd) { in stmmac_get_rxnfc() 983 rxnfc->data = priv->plat->rx_queues_to_use; in stmmac_get_rxnfc()
|