Lines Matching refs:nfc

559 				  struct ethtool_rxnfc *nfc)  in otx2_get_rss_hash_opts()  argument
568 nfc->data = RXH_IP_SRC | RXH_IP_DST; in otx2_get_rss_hash_opts()
570 nfc->data |= RXH_VLAN; in otx2_get_rss_hash_opts()
572 switch (nfc->flow_type) { in otx2_get_rss_hash_opts()
576 nfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in otx2_get_rss_hash_opts()
581 nfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in otx2_get_rss_hash_opts()
586 nfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in otx2_get_rss_hash_opts()
591 nfc->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; in otx2_get_rss_hash_opts()
609 struct ethtool_rxnfc *nfc) in otx2_set_rss_hash_opts() argument
622 if (!(nfc->data & RXH_IP_SRC) || !(nfc->data & RXH_IP_DST)) in otx2_set_rss_hash_opts()
625 if (nfc->data & RXH_VLAN) in otx2_set_rss_hash_opts()
630 switch (nfc->flow_type) { in otx2_set_rss_hash_opts()
636 switch (nfc->data & rxh_l4) { in otx2_set_rss_hash_opts()
649 switch (nfc->data & rxh_l4) { in otx2_set_rss_hash_opts()
662 switch (nfc->data & rxh_l4) { in otx2_set_rss_hash_opts()
675 switch (nfc->data & rxh_l4) { in otx2_set_rss_hash_opts()
717 struct ethtool_rxnfc *nfc, u32 *rules) in otx2_get_rxnfc() argument
723 switch (nfc->cmd) { in otx2_get_rxnfc()
725 nfc->data = pfvf->hw.rx_queues; in otx2_get_rxnfc()
730 nfc->rule_cnt = pfvf->flow_cfg->nr_flows; in otx2_get_rxnfc()
736 ret = otx2_get_flow(pfvf, nfc, nfc->fs.location); in otx2_get_rxnfc()
740 ret = otx2_get_all_flows(pfvf, nfc, rules); in otx2_get_rxnfc()
743 return otx2_get_rss_hash_opts(pfvf, nfc); in otx2_get_rxnfc()
750 static int otx2_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *nfc) in otx2_set_rxnfc() argument
756 switch (nfc->cmd) { in otx2_set_rxnfc()
758 ret = otx2_set_rss_hash_opts(pfvf, nfc); in otx2_set_rxnfc()
762 ret = otx2_add_flow(pfvf, nfc); in otx2_set_rxnfc()
766 ret = otx2_remove_flow(pfvf, nfc->fs.location); in otx2_set_rxnfc()