Lines Matching refs:rule

398 	flow_rule_match_ipv4_addrs(flow->rule, &ipv4);  in bcm_sf2_cfp_ipv4_rule_set()
399 flow_rule_match_ports(flow->rule, &ports); in bcm_sf2_cfp_ipv4_rule_set()
400 flow_rule_match_ip(flow->rule, &ip); in bcm_sf2_cfp_ipv4_rule_set()
570 struct cfp_rule *rule; in bcm_sf2_cfp_rule_find() local
572 list_for_each_entry(rule, &priv->cfp.rules_list, next) { in bcm_sf2_cfp_rule_find()
573 if (rule->port == port && rule->fs.location == location) in bcm_sf2_cfp_rule_find()
574 return rule; in bcm_sf2_cfp_rule_find()
583 struct cfp_rule *rule = NULL; in bcm_sf2_cfp_rule_cmp() local
590 list_for_each_entry(rule, &priv->cfp.rules_list, next) { in bcm_sf2_cfp_rule_cmp()
592 if (rule->port != port) in bcm_sf2_cfp_rule_cmp()
595 if (rule->fs.flow_type != fs->flow_type || in bcm_sf2_cfp_rule_cmp()
596 rule->fs.ring_cookie != fs->ring_cookie || in bcm_sf2_cfp_rule_cmp()
597 rule->fs.h_ext.data[0] != fs->h_ext.data[0]) in bcm_sf2_cfp_rule_cmp()
613 ret = memcmp(&rule->fs.h_u, &fs->h_u, fs_size); in bcm_sf2_cfp_rule_cmp()
614 ret |= memcmp(&rule->fs.m_u, &fs->m_u, fs_size); in bcm_sf2_cfp_rule_cmp()
616 if (rule->fs.flow_type & FLOW_EXT) { in bcm_sf2_cfp_rule_cmp()
617 ret |= rule->fs.h_ext.vlan_tci != fs->h_ext.vlan_tci; in bcm_sf2_cfp_rule_cmp()
618 ret |= rule->fs.m_ext.vlan_tci != fs->m_ext.vlan_tci; in bcm_sf2_cfp_rule_cmp()
708 flow_rule_match_ipv6_addrs(flow->rule, &ipv6); in bcm_sf2_cfp_ipv6_rule_set()
709 flow_rule_match_ports(flow->rule, &ports); in bcm_sf2_cfp_ipv6_rule_set()
933 struct cfp_rule *rule = NULL; in bcm_sf2_cfp_rule_set() local
957 rule = kzalloc(sizeof(*rule), GFP_KERNEL); in bcm_sf2_cfp_rule_set()
958 if (!rule) in bcm_sf2_cfp_rule_set()
963 kfree(rule); in bcm_sf2_cfp_rule_set()
967 rule->port = port; in bcm_sf2_cfp_rule_set()
968 memcpy(&rule->fs, fs, sizeof(*fs)); in bcm_sf2_cfp_rule_set()
969 list_add_tail(&rule->next, &priv->cfp.rules_list); in bcm_sf2_cfp_rule_set()
1030 struct cfp_rule *rule; in bcm_sf2_cfp_rule_del() local
1043 rule = bcm_sf2_cfp_rule_find(priv, port, loc); in bcm_sf2_cfp_rule_del()
1044 if (!rule) in bcm_sf2_cfp_rule_del()
1049 list_del(&rule->next); in bcm_sf2_cfp_rule_del()
1050 kfree(rule); in bcm_sf2_cfp_rule_del()
1071 struct cfp_rule *rule; in bcm_sf2_cfp_rule_get() local
1073 rule = bcm_sf2_cfp_rule_find(priv, port, nfc->fs.location); in bcm_sf2_cfp_rule_get()
1074 if (!rule) in bcm_sf2_cfp_rule_get()
1077 memcpy(&nfc->fs, &rule->fs, sizeof(rule->fs)); in bcm_sf2_cfp_rule_get()
1219 struct cfp_rule *rule, *n; in bcm_sf2_cfp_exit() local
1224 list_for_each_entry_safe_reverse(rule, n, &priv->cfp.rules_list, next) in bcm_sf2_cfp_exit()
1225 bcm_sf2_cfp_rule_del(priv, rule->port, rule->fs.location); in bcm_sf2_cfp_exit()
1231 struct cfp_rule *rule; in bcm_sf2_cfp_resume() local
1246 list_for_each_entry(rule, &priv->cfp.rules_list, next) { in bcm_sf2_cfp_resume()
1247 ret = bcm_sf2_cfp_rule_remove(priv, rule->port, in bcm_sf2_cfp_resume()
1248 rule->fs.location); in bcm_sf2_cfp_resume()
1254 ret = bcm_sf2_cfp_rule_insert(ds, rule->port, &rule->fs); in bcm_sf2_cfp_resume()
1316 struct cfp_rule *rule; in bcm_sf2_cfp_get_ethtool_stats() local
1321 rule = bcm_sf2_cfp_rule_find(priv, port, i); in bcm_sf2_cfp_get_ethtool_stats()
1322 if (!rule) in bcm_sf2_cfp_get_ethtool_stats()