/linux-6.12.1/drivers/net/ethernet/freescale/dpaa2/ |
D | dpaa2-ethtool.c | 720 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in dpaa2_eth_get_rxnfc() argument 726 switch (rxnfc->cmd) { in dpaa2_eth_get_rxnfc() 732 rxnfc->data = priv->rx_hash_fields; in dpaa2_eth_get_rxnfc() 735 rxnfc->data = dpaa2_eth_queue_count(priv); in dpaa2_eth_get_rxnfc() 738 rxnfc->rule_cnt = 0; in dpaa2_eth_get_rxnfc() 739 rxnfc->rule_cnt = dpaa2_eth_num_cls_rules(priv); in dpaa2_eth_get_rxnfc() 740 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc() 743 if (rxnfc->fs.location >= max_rules) in dpaa2_eth_get_rxnfc() 745 rxnfc->fs.location = array_index_nospec(rxnfc->fs.location, in dpaa2_eth_get_rxnfc() 747 if (!priv->cls_rules[rxnfc->fs.location].in_use) in dpaa2_eth_get_rxnfc() [all …]
|
/linux-6.12.1/drivers/net/ethernet/freescale/enetc/ |
D | enetc_ethtool.c | 483 static int enetc_get_rsshash(struct ethtool_rxnfc *rxnfc) in enetc_get_rsshash() argument 499 if (rxnfc->flow_type >= ARRAY_SIZE(rsshash)) in enetc_get_rsshash() 502 rxnfc->data = rsshash[rxnfc->flow_type]; in enetc_get_rsshash() 590 static int enetc_get_rxnfc(struct net_device *ndev, struct ethtool_rxnfc *rxnfc, in enetc_get_rxnfc() argument 596 switch (rxnfc->cmd) { in enetc_get_rxnfc() 598 rxnfc->data = priv->num_rx_rings; in enetc_get_rxnfc() 602 return enetc_get_rsshash(rxnfc); in enetc_get_rxnfc() 605 rxnfc->data = priv->si->num_fs_entries; in enetc_get_rxnfc() 607 rxnfc->rule_cnt = 0; in enetc_get_rxnfc() 610 rxnfc->rule_cnt++; in enetc_get_rxnfc() [all …]
|
/linux-6.12.1/drivers/net/ethernet/marvell/mvpp2/ |
D | mvpp2_cls.c | 1343 struct ethtool_rxnfc *rxnfc) in mvpp2_ethtool_cls_rule_get() argument 1347 if (rxnfc->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW) in mvpp2_ethtool_cls_rule_get() 1350 efs = port->rfs_rules[rxnfc->fs.location]; in mvpp2_ethtool_cls_rule_get() 1354 memcpy(rxnfc, &efs->rxnfc, sizeof(efs->rxnfc)); in mvpp2_ethtool_cls_rule_get() 1418 memcpy(&efs->rxnfc, info, sizeof(*info)); in mvpp2_ethtool_cls_rule_ins() 1553 struct ethtool_rxnfc *rxnfc; in mvpp22_port_rss_ctx_delete() local 1566 rxnfc = &port->rfs_rules[i]->rxnfc; in mvpp22_port_rss_ctx_delete() 1567 if (!(rxnfc->fs.flow_type & FLOW_RSS) || in mvpp22_port_rss_ctx_delete() 1568 rxnfc->rss_context != port_ctx) in mvpp22_port_rss_ctx_delete() 1571 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-6.12.1/net/ethtool/ |
D | ioctl.c | 835 ethtool_rxnfc_copy_from_compat(struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_from_compat() argument 851 sizeof(rxnfc->fs.m_ext)); in ethtool_rxnfc_copy_from_compat() 860 *rxnfc = (struct ethtool_rxnfc) { in ethtool_rxnfc_copy_from_compat() 879 static int ethtool_rxnfc_copy_from_user(struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_from_user() argument 884 return ethtool_rxnfc_copy_from_compat(rxnfc, useraddr, size); in ethtool_rxnfc_copy_from_user() 886 if (copy_from_user(rxnfc, useraddr, size)) in ethtool_rxnfc_copy_from_user() 893 const struct ethtool_rxnfc *rxnfc, in ethtool_rxnfc_copy_to_compat() argument 900 .cmd = rxnfc->cmd, in ethtool_rxnfc_copy_to_compat() 901 .flow_type = rxnfc->flow_type, in ethtool_rxnfc_copy_to_compat() 902 .data = rxnfc->data, in ethtool_rxnfc_copy_to_compat() [all …]
|
/linux-6.12.1/drivers/net/ethernet/microchip/ |
D | lan743x_ethtool.c | 903 struct ethtool_rxnfc *rxnfc, in lan743x_ethtool_get_rxnfc() argument 906 switch (rxnfc->cmd) { in lan743x_ethtool_get_rxnfc() 908 rxnfc->data = 0; in lan743x_ethtool_get_rxnfc() 909 switch (rxnfc->flow_type) { in lan743x_ethtool_get_rxnfc() 912 rxnfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in lan743x_ethtool_get_rxnfc() 915 rxnfc->data |= RXH_IP_SRC | RXH_IP_DST; in lan743x_ethtool_get_rxnfc() 920 rxnfc->data = LAN743X_USED_RX_CHANNELS; in lan743x_ethtool_get_rxnfc()
|
/linux-6.12.1/drivers/net/ethernet/amd/xgbe/ |
D | xgbe-ethtool.c | 501 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in xgbe_get_rxnfc() argument 505 switch (rxnfc->cmd) { in xgbe_get_rxnfc() 507 rxnfc->data = pdata->rx_ring_count; in xgbe_get_rxnfc()
|
/linux-6.12.1/drivers/net/ethernet/stmicro/stmmac/ |
D | stmmac_ethtool.c | 1101 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in stmmac_get_rxnfc() argument 1105 switch (rxnfc->cmd) { in stmmac_get_rxnfc() 1107 rxnfc->data = priv->plat->rx_queues_to_use; in stmmac_get_rxnfc()
|
/linux-6.12.1/drivers/net/dsa/mv88e6xxx/ |
D | chip.c | 2456 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in mv88e6xxx_get_rxnfc() argument 2458 struct ethtool_rx_flow_spec *fs = &rxnfc->fs; in mv88e6xxx_get_rxnfc() 2466 switch (rxnfc->cmd) { in mv88e6xxx_get_rxnfc() 2468 rxnfc->data = 0; in mv88e6xxx_get_rxnfc() 2469 rxnfc->data |= RX_CLS_LOC_SPECIAL; in mv88e6xxx_get_rxnfc() 2470 rxnfc->rule_cnt = 0; in mv88e6xxx_get_rxnfc() 2473 rxnfc->rule_cnt++; in mv88e6xxx_get_rxnfc() 2485 rxnfc->data = 0; in mv88e6xxx_get_rxnfc() 2486 rxnfc->rule_cnt = 0; in mv88e6xxx_get_rxnfc() 2489 rule_locs[rxnfc->rule_cnt++] = id; in mv88e6xxx_get_rxnfc() [all …]
|