Lines Matching defs:fs

581 	struct ethtool_rx_flow_spec *fs = &rule->fs;
588 f = fs->location;
589 if (fs->flow_type & FLOW_MAC_EXT) {
591 &fs->h_ext.h_dest, &fs->m_ext.h_dest,
592 sizeof(fs->h_ext.h_dest));
595 if (fs->flow_type & FLOW_EXT) {
596 if (fs->m_ext.vlan_etype ||
597 fs->m_ext.vlan_tci) {
599 &fs->h_ext.vlan_etype,
600 &fs->m_ext.vlan_etype,
601 sizeof(fs->h_ext.vlan_etype));
603 &fs->h_ext.vlan_tci,
604 &fs->m_ext.vlan_tci,
605 sizeof(fs->h_ext.vlan_tci));
611 switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
615 &fs->h_u.ether_spec.h_dest,
616 &fs->m_u.ether_spec.h_dest,
617 sizeof(fs->h_u.ether_spec.h_dest));
619 &fs->h_u.ether_spec.h_source,
620 &fs->m_u.ether_spec.h_source,
621 sizeof(fs->h_u.ether_spec.h_source));
623 &fs->h_u.ether_spec.h_proto,
624 &fs->m_u.ether_spec.h_proto,
625 sizeof(fs->h_u.ether_spec.h_proto));
635 &fs->h_u.usr_ip4_spec.tos,
636 &fs->m_u.usr_ip4_spec.tos,
637 sizeof(fs->h_u.usr_ip4_spec.tos));
639 &fs->h_u.usr_ip4_spec.proto,
640 &fs->m_u.usr_ip4_spec.proto,
641 sizeof(fs->h_u.usr_ip4_spec.proto));
643 &fs->h_u.usr_ip4_spec.ip4src,
644 &fs->m_u.usr_ip4_spec.ip4src,
645 sizeof(fs->h_u.usr_ip4_spec.ip4src));
647 &fs->h_u.usr_ip4_spec.ip4dst,
648 &fs->m_u.usr_ip4_spec.ip4dst,
649 sizeof(fs->h_u.usr_ip4_spec.ip4dst));
650 if (!fs->m_u.usr_ip4_spec.l4_4_bytes)
659 size = sizeof(fs->h_u.usr_ip4_spec.l4_4_bytes);
662 &fs->h_u.usr_ip4_spec.l4_4_bytes,
663 &fs->m_u.usr_ip4_spec.l4_4_bytes,
670 if (!fs->ring_cookie || fs->ring_cookie == RX_CLS_FLOW_WAKE) {
679 fs->ring_cookie);
1367 if (cmd->fs.location >= MAX_NUM_OF_FS_RULES &&
1368 cmd->fs.location != RX_CLS_LOC_ANY) {
1370 cmd->fs.location);
1374 switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
1376 l4_mask = &cmd->fs.m_u.usr_ip4_spec;
1389 eth_mask = &cmd->fs.m_u.ether_spec;
1400 cmd->fs.flow_type);
1404 if ((cmd->fs.flow_type & FLOW_EXT)) {
1406 if (VALIDATE_MASK(cmd->fs.m_ext.vlan_etype) ||
1407 VALIDATE_MASK(cmd->fs.m_ext.vlan_tci)) {
1411 if (cmd->fs.m_ext.data[0] || cmd->fs.m_ext.data[1]) {
1417 if ((cmd->fs.flow_type & FLOW_MAC_EXT)) {
1419 if (VALIDATE_MASK(cmd->fs.m_ext.h_dest)) {
1440 if (cmd->fs.ring_cookie > priv->hw_params->rx_queues &&
1441 cmd->fs.ring_cookie != RX_CLS_FLOW_WAKE) {
1443 cmd->fs.ring_cookie);
1451 if (cmd->fs.location == RX_CLS_LOC_ANY) {
1453 cmd->fs.location = loc_rule->fs.location;
1454 err = memcmp(&loc_rule->fs, &cmd->fs,
1463 cmd->fs.location = i;
1468 cmd->fs.location = RX_CLS_LOC_ANY;
1472 loc_rule = &priv->rxnfc_rules[cmd->fs.location];
1475 bcmgenet_hfb_disable_filter(priv, cmd->fs.location);
1478 bcmgenet_hfb_clear_filter(priv, cmd->fs.location);
1481 memcpy(&loc_rule->fs, &cmd->fs,
1498 if (cmd->fs.location >= MAX_NUM_OF_FS_RULES)
1501 rule = &priv->rxnfc_rules[cmd->fs.location];
1508 bcmgenet_hfb_disable_filter(priv, cmd->fs.location);
1511 bcmgenet_hfb_clear_filter(priv, cmd->fs.location);
1514 memset(&rule->fs, 0, sizeof(struct ethtool_rx_flow_spec));
1555 memcpy(&cmd->fs, &rule->fs,
1589 err = bcmgenet_get_flow(dev, cmd, cmd->fs.location);
1594 rule_locs[i++] = rule->fs.location;