Lines Matching refs:fs

490 static int dpaa2_eth_prep_cls_rule(struct ethtool_rx_flow_spec *fs, void *key,  in dpaa2_eth_prep_cls_rule()  argument
495 switch (fs->flow_type & 0xFF) { in dpaa2_eth_prep_cls_rule()
497 err = dpaa2_eth_prep_eth_rule(&fs->h_u.ether_spec, &fs->m_u.ether_spec, in dpaa2_eth_prep_cls_rule()
501 err = dpaa2_eth_prep_uip_rule(&fs->h_u.usr_ip4_spec, in dpaa2_eth_prep_cls_rule()
502 &fs->m_u.usr_ip4_spec, key, mask, fields); in dpaa2_eth_prep_cls_rule()
505 err = dpaa2_eth_prep_l4_rule(&fs->h_u.tcp_ip4_spec, &fs->m_u.tcp_ip4_spec, in dpaa2_eth_prep_cls_rule()
509 err = dpaa2_eth_prep_l4_rule(&fs->h_u.udp_ip4_spec, &fs->m_u.udp_ip4_spec, in dpaa2_eth_prep_cls_rule()
513 err = dpaa2_eth_prep_l4_rule(&fs->h_u.sctp_ip4_spec, in dpaa2_eth_prep_cls_rule()
514 &fs->m_u.sctp_ip4_spec, key, mask, in dpaa2_eth_prep_cls_rule()
524 if (fs->flow_type & FLOW_EXT) { in dpaa2_eth_prep_cls_rule()
525 err = dpaa2_eth_prep_ext_rule(&fs->h_ext, &fs->m_ext, key, mask, fields); in dpaa2_eth_prep_cls_rule()
530 if (fs->flow_type & FLOW_MAC_EXT) { in dpaa2_eth_prep_cls_rule()
531 err = dpaa2_eth_prep_mac_ext_rule(&fs->h_ext, &fs->m_ext, key, in dpaa2_eth_prep_cls_rule()
541 struct ethtool_rx_flow_spec *fs, in dpaa2_eth_do_cls_rule() argument
553 if (fs->ring_cookie != RX_CLS_FLOW_DISC && in dpaa2_eth_do_cls_rule()
554 fs->ring_cookie >= dpaa2_eth_queue_count(priv)) in dpaa2_eth_do_cls_rule()
565 err = dpaa2_eth_prep_cls_rule(fs, key_buf, key_buf + rule_cfg.key_size, &fields); in dpaa2_eth_do_cls_rule()
607 if (fs->ring_cookie == RX_CLS_FLOW_DISC) in dpaa2_eth_do_cls_rule()
610 fs_act.flow_id = fs->ring_cookie; in dpaa2_eth_do_cls_rule()
615 i, fs->location, &rule_cfg, in dpaa2_eth_do_cls_rule()
662 err = dpaa2_eth_do_cls_rule(net_dev, &rule->fs, false); in dpaa2_eth_update_cls_rule()
682 rule->fs = *new_fs; in dpaa2_eth_update_cls_rule()
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()
717 rxnfc->fs = priv->cls_rules[rxnfc->fs.location].fs; in dpaa2_eth_get_rxnfc()
749 err = dpaa2_eth_update_cls_rule(net_dev, &rxnfc->fs, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()
752 err = dpaa2_eth_update_cls_rule(net_dev, NULL, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()