rule 470 drivers/acpi/acpica/acinterp.h void acpi_ex_acquire_global_lock(u32 rule); rule 472 drivers/acpi/acpica/acinterp.h void acpi_ex_release_global_lock(u32 rule); rule 3201 drivers/infiniband/hw/mlx5/main.c mlx5_del_flow_rules(iter->rule); rule 3207 drivers/infiniband/hw/mlx5/main.c mlx5_del_flow_rules(handler->rule); rule 3624 drivers/infiniband/hw/mlx5/main.c handler->rule = mlx5_add_flow_rules(ft, spec, rule 3628 drivers/infiniband/hw/mlx5/main.c if (IS_ERR(handler->rule)) { rule 3629 drivers/infiniband/hw/mlx5/main.c err = PTR_ERR(handler->rule); rule 3670 drivers/infiniband/hw/mlx5/main.c mlx5_del_flow_rules(handler->rule); rule 3733 drivers/infiniband/hw/mlx5/main.c mlx5_del_flow_rules(handler->rule); rule 3775 drivers/infiniband/hw/mlx5/main.c mlx5_del_flow_rules(handler_rx->rule); rule 4032 drivers/infiniband/hw/mlx5/main.c handler->rule = mlx5_add_flow_rules(ft, spec, rule 4035 drivers/infiniband/hw/mlx5/main.c if (IS_ERR(handler->rule)) { rule 4036 drivers/infiniband/hw/mlx5/main.c err = PTR_ERR(handler->rule); rule 180 drivers/infiniband/hw/mlx5/mlx5_ib.h struct mlx5_flow_handle *rule; rule 378 drivers/net/dsa/bcm_sf2_cfp.c flow_rule_match_ipv4_addrs(flow->rule, &ipv4); rule 379 drivers/net/dsa/bcm_sf2_cfp.c flow_rule_match_ports(flow->rule, &ports); rule 380 drivers/net/dsa/bcm_sf2_cfp.c flow_rule_match_ip(flow->rule, &ip); rule 545 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule = NULL; rule 547 drivers/net/dsa/bcm_sf2_cfp.c list_for_each_entry(rule, &priv->cfp.rules_list, next) { rule 548 drivers/net/dsa/bcm_sf2_cfp.c if (rule->port == port && rule->fs.location == location) rule 552 drivers/net/dsa/bcm_sf2_cfp.c return rule; rule 558 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule = NULL; rule 565 drivers/net/dsa/bcm_sf2_cfp.c list_for_each_entry(rule, &priv->cfp.rules_list, next) { rule 567 drivers/net/dsa/bcm_sf2_cfp.c if (rule->port != port) rule 570 drivers/net/dsa/bcm_sf2_cfp.c if (rule->fs.flow_type != fs->flow_type || rule 571 drivers/net/dsa/bcm_sf2_cfp.c rule->fs.ring_cookie != fs->ring_cookie || rule 572 drivers/net/dsa/bcm_sf2_cfp.c rule->fs.h_ext.data[0] != fs->h_ext.data[0]) rule 588 drivers/net/dsa/bcm_sf2_cfp.c ret = memcmp(&rule->fs.h_u, &fs->h_u, fs_size); rule 589 drivers/net/dsa/bcm_sf2_cfp.c ret |= memcmp(&rule->fs.m_u, &fs->m_u, fs_size); rule 671 drivers/net/dsa/bcm_sf2_cfp.c flow_rule_match_ipv6_addrs(flow->rule, &ipv6); rule 672 drivers/net/dsa/bcm_sf2_cfp.c flow_rule_match_ports(flow->rule, &ports); rule 877 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule = NULL; rule 897 drivers/net/dsa/bcm_sf2_cfp.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 898 drivers/net/dsa/bcm_sf2_cfp.c if (!rule) rule 903 drivers/net/dsa/bcm_sf2_cfp.c kfree(rule); rule 907 drivers/net/dsa/bcm_sf2_cfp.c rule->port = port; rule 908 drivers/net/dsa/bcm_sf2_cfp.c memcpy(&rule->fs, fs, sizeof(*fs)); rule 909 drivers/net/dsa/bcm_sf2_cfp.c list_add_tail(&rule->next, &priv->cfp.rules_list); rule 970 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule; rule 983 drivers/net/dsa/bcm_sf2_cfp.c rule = bcm_sf2_cfp_rule_find(priv, port, loc); rule 984 drivers/net/dsa/bcm_sf2_cfp.c if (!rule) rule 989 drivers/net/dsa/bcm_sf2_cfp.c list_del(&rule->next); rule 990 drivers/net/dsa/bcm_sf2_cfp.c kfree(rule); rule 1011 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule; rule 1013 drivers/net/dsa/bcm_sf2_cfp.c rule = bcm_sf2_cfp_rule_find(priv, port, nfc->fs.location); rule 1014 drivers/net/dsa/bcm_sf2_cfp.c if (!rule) rule 1017 drivers/net/dsa/bcm_sf2_cfp.c memcpy(&nfc->fs, &rule->fs, sizeof(rule->fs)); rule 1159 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule, *n; rule 1164 drivers/net/dsa/bcm_sf2_cfp.c list_for_each_entry_safe_reverse(rule, n, &priv->cfp.rules_list, next) rule 1165 drivers/net/dsa/bcm_sf2_cfp.c bcm_sf2_cfp_rule_del(priv, rule->port, rule->fs.location); rule 1171 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule; rule 1186 drivers/net/dsa/bcm_sf2_cfp.c list_for_each_entry(rule, &priv->cfp.rules_list, next) { rule 1187 drivers/net/dsa/bcm_sf2_cfp.c ret = bcm_sf2_cfp_rule_remove(priv, rule->port, rule 1188 drivers/net/dsa/bcm_sf2_cfp.c rule->fs.location); rule 1194 drivers/net/dsa/bcm_sf2_cfp.c ret = bcm_sf2_cfp_rule_insert(ds, rule->port, &rule->fs); rule 1256 drivers/net/dsa/bcm_sf2_cfp.c struct cfp_rule *rule; rule 1261 drivers/net/dsa/bcm_sf2_cfp.c rule = bcm_sf2_cfp_rule_find(priv, port, i); rule 1262 drivers/net/dsa/bcm_sf2_cfp.c if (!rule) rule 70 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule; rule 74 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 76 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule->aq_fsp.location == fsp->location) rule 78 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (aq_match_filter(&rule->aq_fsp, fsp)) { rule 426 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule = NULL; rule 429 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 431 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (be16_to_cpu(rule->aq_fsp.h_ext.vlan_tci) == vlan_id) rule 434 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule && rule->type == aq_rx_filter_vlan && rule 435 drivers/net/ethernet/aquantia/atlantic/aq_filters.c be16_to_cpu(rule->aq_fsp.h_ext.vlan_tci) == vlan_id) { rule 438 drivers/net/ethernet/aquantia/atlantic/aq_filters.c cmd.fs.location = rule->aq_fsp.location; rule 626 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule = NULL, *parent = NULL; rule 630 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 632 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule->aq_fsp.location >= index) rule 634 drivers/net/ethernet/aquantia/atlantic/aq_filters.c parent = rule; rule 637 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule && rule->aq_fsp.location == index) { rule 638 drivers/net/ethernet/aquantia/atlantic/aq_filters.c err = aq_add_del_rule(aq_nic, rule, false); rule 639 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_del(&rule->aq_node); rule 640 drivers/net/ethernet/aquantia/atlantic/aq_filters.c kfree(rule); rule 713 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule = NULL; rule 717 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 719 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule->aq_fsp.location == cmd->fs.location) rule 723 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (rule && rule->aq_fsp.location == cmd->fs.location) { rule 724 drivers/net/ethernet/aquantia/atlantic/aq_filters.c err = aq_add_del_rule(aq_nic, rule, false); rule 725 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_del(&rule->aq_node); rule 726 drivers/net/ethernet/aquantia/atlantic/aq_filters.c kfree(rule); rule 737 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule = NULL; rule 740 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 742 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (fsp->location <= rule->aq_fsp.location) rule 745 drivers/net/ethernet/aquantia/atlantic/aq_filters.c if (unlikely(!rule || fsp->location != rule->aq_fsp.location)) rule 748 drivers/net/ethernet/aquantia/atlantic/aq_filters.c memcpy(fsp, &rule->aq_fsp, sizeof(*fsp)); rule 758 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule; rule 763 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 768 drivers/net/ethernet/aquantia/atlantic/aq_filters.c rule_locs[count++] = rule->aq_fsp.location; rule 780 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule; rule 783 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 785 drivers/net/ethernet/aquantia/atlantic/aq_filters.c err = aq_add_del_rule(aq_nic, rule, false); rule 788 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_del(&rule->aq_node); rule 789 drivers/net/ethernet/aquantia/atlantic/aq_filters.c kfree(rule); rule 801 drivers/net/ethernet/aquantia/atlantic/aq_filters.c struct aq_rx_filter *rule; rule 804 drivers/net/ethernet/aquantia/atlantic/aq_filters.c hlist_for_each_entry_safe(rule, aq_node2, rule 806 drivers/net/ethernet/aquantia/atlantic/aq_filters.c err = aq_add_del_rule(aq_nic, rule, true); rule 15396 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c u32 param, rule; rule 15404 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c rule = port ? NIG_REG_P1_TLLH_PTP_RULE_MASK : rule 15410 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c REG_WR(bp, rule, BNX2X_PTP_TX_ON_RULE_MASK); rule 15419 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c rule = port ? NIG_REG_P1_LLH_PTP_RULE_MASK : rule 15435 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c REG_WR(bp, rule, BNX2X_PTP_V1_L4_RULE_MASK); rule 15443 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c REG_WR(bp, rule, BNX2X_PTP_V2_L4_RULE_MASK); rule 15451 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c REG_WR(bp, rule, BNX2X_PTP_V2_L2_RULE_MASK); rule 15460 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c REG_WR(bp, rule, BNX2X_PTP_V2_RULE_MASK); rule 176 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(tc_flow_cmd); rule 177 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c struct flow_dissector *dissector = rule->match.dissector; rule 187 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 190 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_basic(rule, &match); rule 201 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 204 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_eth_addrs(rule, &match); rule 212 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 215 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_vlan(rule, &match); rule 227 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { rule 230 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_ipv4_addrs(rule, &match); rule 236 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c } else if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS)) { rule 239 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_ipv6_addrs(rule, &match); rule 247 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 250 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_ports(rule, &match); rule 258 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ICMP)) { rule 261 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_icmp(rule, &match); rule 269 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS)) { rule 272 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_enc_ipv4_addrs(rule, &match); rule 278 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c } else if (flow_rule_match_key(rule, rule 283 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 286 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_enc_keyid(rule, &match); rule 292 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS)) { rule 295 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_rule_match_enc_ports(rule, &match); rule 303 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c return bnxt_tc_parse_actions(bp, &flow->actions, &rule->action); rule 87 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 90 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 93 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_control(rule, &match); rule 97 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 101 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_basic(rule, &match); rule 122 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_ipv4_addrs(rule, &match); rule 137 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_ipv6_addrs(rule, &match); rule 155 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 158 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_ports(rule, &match); rule 169 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) { rule 172 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_ip(rule, &match); rule 177 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 180 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_enc_keyid(rule, &match); rule 189 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 193 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_vlan(rule, &match); rule 229 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 230 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_dissector *dissector = rule->match.dissector; rule 248 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 251 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_basic(rule, &match); rule 256 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) { rule 265 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_rule_match_ip(rule, &match); rule 385 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 389 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_action_for_each(i, act, &rule->action) { rule 550 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 557 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c flow_action_for_each(i, act, &rule->action) { rule 596 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c struct dpaa2_eth_cls_rule *rule; rule 605 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c rule = &priv->cls_rules[location]; rule 608 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c if (rule->in_use) { rule 609 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c err = do_cls_rule(net_dev, &rule->fs, false); rule 613 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c rule->in_use = 0; rule 627 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c rule->in_use = 1; rule 628 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c rule->fs = *new_fs; rule 1062 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_vid(struct ethtool_rx_flow_spec *rule) rule 1064 drivers/net/ethernet/freescale/gianfar_ethtool.c return be16_to_cpu(rule->h_ext.vlan_tci) & VLAN_VID_MASK; rule 1067 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_vidm(struct ethtool_rx_flow_spec *rule) rule 1069 drivers/net/ethernet/freescale/gianfar_ethtool.c return be16_to_cpu(rule->m_ext.vlan_tci) & VLAN_VID_MASK; rule 1072 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_cfi(struct ethtool_rx_flow_spec *rule) rule 1074 drivers/net/ethernet/freescale/gianfar_ethtool.c return be16_to_cpu(rule->h_ext.vlan_tci) & VLAN_CFI_MASK; rule 1077 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_cfim(struct ethtool_rx_flow_spec *rule) rule 1079 drivers/net/ethernet/freescale/gianfar_ethtool.c return be16_to_cpu(rule->m_ext.vlan_tci) & VLAN_CFI_MASK; rule 1082 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_prio(struct ethtool_rx_flow_spec *rule) rule 1084 drivers/net/ethernet/freescale/gianfar_ethtool.c return (be16_to_cpu(rule->h_ext.vlan_tci) & VLAN_PRIO_MASK) >> rule 1088 drivers/net/ethernet/freescale/gianfar_ethtool.c static inline u32 vlan_tci_priom(struct ethtool_rx_flow_spec *rule) rule 1090 drivers/net/ethernet/freescale/gianfar_ethtool.c return (be16_to_cpu(rule->m_ext.vlan_tci) & VLAN_PRIO_MASK) >> rule 1095 drivers/net/ethernet/freescale/gianfar_ethtool.c static int gfar_convert_to_filer(struct ethtool_rx_flow_spec *rule, rule 1105 drivers/net/ethernet/freescale/gianfar_ethtool.c if ((rule->flow_type & FLOW_EXT) && rule 1106 drivers/net/ethernet/freescale/gianfar_ethtool.c (rule->m_ext.vlan_tci != cpu_to_be16(0xFFFF))) { rule 1107 drivers/net/ethernet/freescale/gianfar_ethtool.c if (!rule->m_ext.vlan_tci) rule 1108 drivers/net/ethernet/freescale/gianfar_ethtool.c rule->m_ext.vlan_tci = cpu_to_be16(0xFFFF); rule 1114 drivers/net/ethernet/freescale/gianfar_ethtool.c id = vlan_tci_vid(rule); rule 1115 drivers/net/ethernet/freescale/gianfar_ethtool.c id_mask = vlan_tci_vidm(rule); rule 1116 drivers/net/ethernet/freescale/gianfar_ethtool.c cfi = vlan_tci_cfi(rule); rule 1117 drivers/net/ethernet/freescale/gianfar_ethtool.c cfi_mask = vlan_tci_cfim(rule); rule 1118 drivers/net/ethernet/freescale/gianfar_ethtool.c prio = vlan_tci_prio(rule); rule 1119 drivers/net/ethernet/freescale/gianfar_ethtool.c prio_mask = vlan_tci_priom(rule); rule 1128 drivers/net/ethernet/freescale/gianfar_ethtool.c switch (rule->flow_type & ~FLOW_EXT) { rule 1132 drivers/net/ethernet/freescale/gianfar_ethtool.c gfar_set_basic_ip(&rule->h_u.tcp_ip4_spec, rule 1133 drivers/net/ethernet/freescale/gianfar_ethtool.c &rule->m_u.tcp_ip4_spec, tab); rule 1138 drivers/net/ethernet/freescale/gianfar_ethtool.c gfar_set_basic_ip(&rule->h_u.udp_ip4_spec, rule 1139 drivers/net/ethernet/freescale/gianfar_ethtool.c &rule->m_u.udp_ip4_spec, tab); rule 1145 drivers/net/ethernet/freescale/gianfar_ethtool.c gfar_set_basic_ip((struct ethtool_tcpip4_spec *)&rule->h_u, rule 1146 drivers/net/ethernet/freescale/gianfar_ethtool.c (struct ethtool_tcpip4_spec *)&rule->m_u, rule 1152 drivers/net/ethernet/freescale/gianfar_ethtool.c gfar_set_user_ip((struct ethtool_usrip4_spec *) &rule->h_u, rule 1153 drivers/net/ethernet/freescale/gianfar_ethtool.c (struct ethtool_usrip4_spec *) &rule->m_u, rule 1159 drivers/net/ethernet/freescale/gianfar_ethtool.c gfar_set_ether((struct ethhdr *) &rule->h_u, rule 1160 drivers/net/ethernet/freescale/gianfar_ethtool.c (struct ethhdr *) &rule->m_u, tab); rule 1184 drivers/net/ethernet/freescale/gianfar_ethtool.c if (rule->ring_cookie == RX_CLS_FLOW_DISC) rule 1187 drivers/net/ethernet/freescale/gianfar_ethtool.c tab->fe[tab->index - 1].ctrl |= (rule->ring_cookie << 10); rule 4886 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 4892 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & tuple_bit) rule 4900 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(key_x[ETH_ALEN - 1 - i], rule->tuples.dst_mac[i], rule 4901 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_mac[i]); rule 4902 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(key_y[ETH_ALEN - 1 - i], rule->tuples.dst_mac[i], rule 4903 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_mac[i]); rule 4909 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(key_x[ETH_ALEN - 1 - i], rule->tuples.src_mac[i], rule 4910 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_mac[i]); rule 4911 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(key_y[ETH_ALEN - 1 - i], rule->tuples.src_mac[i], rule 4912 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_mac[i]); rule 4917 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_s, rule->tuples.vlan_tag1, rule 4918 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.vlan_tag1); rule 4919 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_s, rule->tuples.vlan_tag1, rule 4920 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.vlan_tag1); rule 4926 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_s, rule->tuples.ether_proto, rule 4927 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto); rule 4928 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_s, rule->tuples.ether_proto, rule 4929 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto); rule 4935 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(*key_x, rule->tuples.ip_tos, rule->tuples_mask.ip_tos); rule 4936 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(*key_y, rule->tuples.ip_tos, rule->tuples_mask.ip_tos); rule 4940 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(*key_x, rule->tuples.ip_proto, rule 4941 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto); rule 4942 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(*key_y, rule->tuples.ip_proto, rule 4943 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto); rule 4947 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_l, rule->tuples.src_ip[IPV4_INDEX], rule 4948 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip[IPV4_INDEX]); rule 4949 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_l, rule->tuples.src_ip[IPV4_INDEX], rule 4950 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip[IPV4_INDEX]); rule 4956 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_l, rule->tuples.dst_ip[IPV4_INDEX], rule 4957 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip[IPV4_INDEX]); rule 4958 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_l, rule->tuples.dst_ip[IPV4_INDEX], rule 4959 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip[IPV4_INDEX]); rule 4965 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_s, rule->tuples.src_port, rule 4966 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_port); rule 4967 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_s, rule->tuples.src_port, rule 4968 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_port); rule 4974 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_x(tmp_x_s, rule->tuples.dst_port, rule 4975 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_port); rule 4976 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c calc_y(tmp_y_s, rule->tuples.dst_port, rule 4977 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_port); rule 5009 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 5026 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->vf_id, 0); rule 5050 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 5072 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cur_key_y, rule); rule 5085 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule); rule 5087 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_fd_tcam_config(hdev, stage, false, rule->location, key_y, rule 5092 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id, ret); rule 5096 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_fd_tcam_config(hdev, stage, true, rule->location, key_x, rule 5101 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id, ret); rule 5106 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 5110 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ad_data.ad_id = rule->location; rule 5112 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->action == HCLGE_FD_ACTION_DROP_PACKET) { rule 5119 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ad_data.queue_id = rule->queue_id; rule 5129 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ad_data.rule_id = rule->location; rule 5302 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule = NULL; rule 5306 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node2, &hdev->fd_rule_list, rule_node) { rule 5307 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->location >= location) rule 5313 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c return rule && rule->location == location; rule 5322 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule = NULL, *parent = NULL; rule 5328 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node2, rule 5330 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->location >= location) rule 5332 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c parent = rule; rule 5335 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule && rule->location == location) { rule 5336 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_del(&rule->rule_node); rule 5337 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c kfree(rule); rule 5370 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 5378 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_ip[IPV4_INDEX] = rule 5380 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip[IPV4_INDEX] = rule 5383 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_ip[IPV4_INDEX] = rule 5385 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip[IPV4_INDEX] = rule 5388 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_port = be16_to_cpu(fs->h_u.tcp_ip4_spec.psrc); rule 5389 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_port = rule 5392 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_port = be16_to_cpu(fs->h_u.tcp_ip4_spec.pdst); rule 5393 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_port = rule 5396 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_tos = fs->h_u.tcp_ip4_spec.tos; rule 5397 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_tos = fs->m_u.tcp_ip4_spec.tos; rule 5399 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ether_proto = ETH_P_IP; rule 5400 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto = 0xFFFF; rule 5404 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_ip[IPV4_INDEX] = rule 5406 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip[IPV4_INDEX] = rule 5409 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_ip[IPV4_INDEX] = rule 5411 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip[IPV4_INDEX] = rule 5414 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_tos = fs->h_u.usr_ip4_spec.tos; rule 5415 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_tos = fs->m_u.usr_ip4_spec.tos; rule 5417 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_proto = fs->h_u.usr_ip4_spec.proto; rule 5418 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto = fs->m_u.usr_ip4_spec.proto; rule 5420 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ether_proto = ETH_P_IP; rule 5421 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto = 0xFFFF; rule 5427 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples.src_ip, rule 5429 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples_mask.src_ip, rule 5432 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples.dst_ip, rule 5434 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples_mask.dst_ip, rule 5437 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_port = be16_to_cpu(fs->h_u.tcp_ip6_spec.psrc); rule 5438 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_port = rule 5441 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_port = be16_to_cpu(fs->h_u.tcp_ip6_spec.pdst); rule 5442 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_port = rule 5445 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ether_proto = ETH_P_IPV6; rule 5446 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto = 0xFFFF; rule 5450 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples.src_ip, rule 5452 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples_mask.src_ip, rule 5455 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples.dst_ip, rule 5457 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c be32_to_cpu_array(rule->tuples_mask.dst_ip, rule 5460 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_proto = fs->h_u.usr_ip6_spec.l4_proto; rule 5461 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto = fs->m_u.usr_ip6_spec.l4_proto; rule 5463 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ether_proto = ETH_P_IPV6; rule 5464 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto = 0xFFFF; rule 5468 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples.src_mac, rule 5470 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples_mask.src_mac, rule 5473 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples.dst_mac, rule 5475 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples_mask.dst_mac, rule 5478 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ether_proto = rule 5480 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ether_proto = rule 5491 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_proto = IPPROTO_SCTP; rule 5492 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto = 0xFF; rule 5496 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_proto = IPPROTO_TCP; rule 5497 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto = 0xFF; rule 5501 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.ip_proto = IPPROTO_UDP; rule 5502 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.ip_proto = 0xFF; rule 5509 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.vlan_tag1 = be16_to_cpu(fs->h_ext.vlan_tci); rule 5510 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.vlan_tag1 = be16_to_cpu(fs->m_ext.vlan_tci); rule 5514 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples.dst_mac, fs->h_ext.h_dest); rule 5515 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(rule->tuples_mask.dst_mac, fs->m_ext.h_dest); rule 5523 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 5527 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!rule) { rule 5534 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hclge_fd_update_rule_list(hdev, rule, rule->location, true); rule 5536 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_config_action(hdev, HCLGE_FD_STAGE_1, rule); rule 5540 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_config_key(hdev, HCLGE_FD_STAGE_1, rule); rule 5547 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hclge_fd_update_rule_list(hdev, rule, rule->location, false); rule 5558 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 5608 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 5609 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!rule) rule 5612 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_fd_get_tuple(hdev, fs, rule); rule 5614 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c kfree(rule); rule 5618 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_type = fs->flow_type; rule 5620 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->location = fs->location; rule 5621 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple = unused; rule 5622 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->vf_id = dst_vport_id; rule 5623 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id = q_index; rule 5624 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->action = action; rule 5625 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->rule_type = HCLGE_FD_EP_ACTIVE; rule 5633 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_fd_config_rule(hdev, rule); rule 5680 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 5694 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node, &hdev->fd_rule_list, rule 5696 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_del(&rule->rule_node); rule 5697 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c kfree(rule); rule 5712 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 5728 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node, &hdev->fd_rule_list, rule_node) { rule 5729 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_config_action(hdev, HCLGE_FD_STAGE_1, rule); rule 5731 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_config_key(hdev, HCLGE_FD_STAGE_1, rule); rule 5736 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->location); rule 5737 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c clear_bit(rule->location, hdev->fd_bmap); rule 5738 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_del(&rule->rule_node); rule 5739 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c kfree(rule); rule 5771 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule = NULL; rule 5783 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node2, &hdev->fd_rule_list, rule_node) { rule 5784 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->location >= fs->location) rule 5788 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!rule || fs->location != rule->location) { rule 5794 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->flow_type = rule->flow_type; rule 5800 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be32(rule->tuples.src_ip[IPV4_INDEX]); rule 5802 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_SRC_IP) ? rule 5803 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be32(rule->tuples_mask.src_ip[IPV4_INDEX]); rule 5806 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be32(rule->tuples.dst_ip[IPV4_INDEX]); rule 5808 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_DST_IP) ? rule 5809 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be32(rule->tuples_mask.dst_ip[IPV4_INDEX]); rule 5811 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.tcp_ip4_spec.psrc = cpu_to_be16(rule->tuples.src_port); rule 5813 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_SRC_PORT) ? rule 5814 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be16(rule->tuples_mask.src_port); rule 5816 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.tcp_ip4_spec.pdst = cpu_to_be16(rule->tuples.dst_port); rule 5818 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_DST_PORT) ? rule 5819 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be16(rule->tuples_mask.dst_port); rule 5821 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.tcp_ip4_spec.tos = rule->tuples.ip_tos; rule 5823 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_IP_TOS) ? rule 5824 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : rule->tuples_mask.ip_tos; rule 5829 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be32(rule->tuples.src_ip[IPV4_INDEX]); rule 5831 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_SRC_IP) ? rule 5832 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be32(rule->tuples_mask.src_ip[IPV4_INDEX]); rule 5835 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be32(rule->tuples.dst_ip[IPV4_INDEX]); rule 5837 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_DST_IP) ? rule 5838 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be32(rule->tuples_mask.dst_ip[IPV4_INDEX]); rule 5840 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.usr_ip4_spec.tos = rule->tuples.ip_tos; rule 5842 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_IP_TOS) ? rule 5843 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : rule->tuples_mask.ip_tos; rule 5845 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.usr_ip4_spec.proto = rule->tuples.ip_proto; rule 5847 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_IP_PROTO) ? rule 5848 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : rule->tuples_mask.ip_proto; rule 5857 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_ip, IPV6_SIZE); rule 5858 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_SRC_IP)) rule 5863 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip, IPV6_SIZE); rule 5866 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_ip, IPV6_SIZE); rule 5867 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_DST_IP)) rule 5872 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip, IPV6_SIZE); rule 5874 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.tcp_ip6_spec.psrc = cpu_to_be16(rule->tuples.src_port); rule 5876 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_SRC_PORT) ? rule 5877 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be16(rule->tuples_mask.src_port); rule 5879 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.tcp_ip6_spec.pdst = cpu_to_be16(rule->tuples.dst_port); rule 5881 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_DST_PORT) ? rule 5882 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be16(rule->tuples_mask.dst_port); rule 5887 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_ip, IPV6_SIZE); rule 5888 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_SRC_IP)) rule 5893 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_ip, IPV6_SIZE); rule 5896 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_ip, IPV6_SIZE); rule 5897 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_DST_IP)) rule 5902 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_ip, IPV6_SIZE); rule 5904 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_u.usr_ip6_spec.l4_proto = rule->tuples.ip_proto; rule 5906 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_IP_PROTO) ? rule 5907 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : rule->tuples_mask.ip_proto; rule 5912 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.src_mac); rule 5913 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_SRC_MAC)) rule 5917 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.src_mac); rule 5920 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples.dst_mac); rule 5921 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_DST_MAC)) rule 5925 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_mac); rule 5928 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be16(rule->tuples.ether_proto); rule 5930 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_ETH_TYPE) ? rule 5931 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 0 : cpu_to_be16(rule->tuples_mask.ether_proto); rule 5940 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->h_ext.vlan_tci = cpu_to_be16(rule->tuples.vlan_tag1); rule 5942 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple & BIT(INNER_VLAN_TAG_FST) ? rule 5944 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_be16(rule->tuples_mask.vlan_tag1); rule 5948 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ether_addr_copy(fs->h_ext.h_dest, rule->tuples.dst_mac); rule 5949 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->unused_tuple & BIT(INNER_DST_MAC)) rule 5953 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->tuples_mask.dst_mac); rule 5956 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->action == HCLGE_FD_ACTION_DROP_PACKET) { rule 5961 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c fs->ring_cookie = rule->queue_id; rule 5962 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c vf_id = rule->vf_id; rule 5977 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 5987 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node2, rule 5994 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule_locs[cnt] = rule->location; rule 6033 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule = NULL; rule 6036 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node, &hdev->fd_rule_list, rule_node) { rule 6037 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!memcmp(tuples, &rule->tuples, sizeof(*tuples))) rule 6038 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c return rule; rule 6045 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule) rule 6047 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->unused_tuple = BIT(INNER_SRC_MAC) | BIT(INNER_DST_MAC) | rule 6050 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->action = 0; rule 6051 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->vf_id = 0; rule 6052 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->rule_type = HCLGE_FD_ARFS_ACTIVE; rule 6055 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_type = TCP_V4_FLOW; rule 6057 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_type = UDP_V4_FLOW; rule 6060 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_type = TCP_V6_FLOW; rule 6062 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_type = UDP_V6_FLOW; rule 6064 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c memcpy(&rule->tuples, tuples, sizeof(rule->tuples)); rule 6065 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c memset(&rule->tuples_mask, 0xFF, sizeof(rule->tuples_mask)); rule 6074 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 6101 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule = hclge_fd_search_flow_keys(hdev, &new_tuples); rule 6102 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!rule) { rule 6110 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule = kzalloc(sizeof(*rule), GFP_ATOMIC); rule 6111 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (!rule) { rule 6118 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->location = bit_id; rule 6119 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_id = flow_id; rule 6120 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id = queue_id; rule 6121 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hclge_fd_build_arfs_rule(&new_tuples, rule); rule 6122 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_fd_config_rule(hdev, rule); rule 6129 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c return rule->location; rule 6134 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rule->queue_id == queue_id) rule 6135 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c return rule->location; rule 6137 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c tmp_queue_id = rule->queue_id; rule 6138 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id = queue_id; rule 6139 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c ret = hclge_config_action(hdev, HCLGE_FD_STAGE_1, rule); rule 6141 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->queue_id = tmp_queue_id; rule 6145 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c return rule->location; rule 6152 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c struct hclge_fd_rule *rule; rule 6161 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node, &hdev->fd_rule_list, rule_node) { rule 6162 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c if (rps_may_expire_flow(handle->netdev, rule->queue_id, rule 6163 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->flow_id, rule->location)) { rule 6164 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_del_init(&rule->rule_node); rule 6165 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_add_head(&rule->rule_node, &del_list); rule 6167 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c clear_bit(rule->location, hdev->fd_bmap); rule 6172 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c hlist_for_each_entry_safe(rule, node, &del_list, rule_node) { rule 6174 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c rule->location, NULL, false); rule 6175 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c kfree(rule); rule 3163 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule; rule 3170 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 3175 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule_locs[cnt] = rule->fd_id; rule 3200 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule = NULL; rule 3205 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 3207 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (fsp->location <= rule->fd_id) rule 3211 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!rule || fsp->location != rule->fd_id) rule 3214 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->flow_type = rule->flow_type; rule 3224 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->h_u.tcp_ip4_spec.psrc = rule->dst_port; rule 3225 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->h_u.tcp_ip4_spec.pdst = rule->src_port; rule 3226 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->h_u.tcp_ip4_spec.ip4src = rule->dst_ip; rule 3227 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->h_u.tcp_ip4_spec.ip4dst = rule->src_ip; rule 3229 drivers/net/ethernet/intel/i40e/i40e_ethtool.c switch (rule->flow_type) { rule 3249 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule->flow_type); rule 3269 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->dest_ctl == I40E_FILTER_PROGRAM_DESC_DEST_DROP_PACKET) rule 3272 drivers/net/ethernet/intel/i40e/i40e_ethtool.c fsp->ring_cookie = rule->q_index; rule 3274 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->dest_vsi != pf->vsi[pf->lan_vsi]->id) { rule 3277 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi = i40e_find_vsi_from_id(pf, rule->dest_vsi); rule 3289 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->flex_filter) { rule 3291 drivers/net/ethernet/intel/i40e/i40e_ethtool.c userdef.flex_word = be16_to_cpu(rule->flex_word); rule 3292 drivers/net/ethernet/intel/i40e/i40e_ethtool.c userdef.flex_offset = rule->flex_offset; rule 3517 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule, *parent; rule 3523 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule = NULL; rule 3525 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 3528 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->fd_id >= sw_idx) rule 3530 drivers/net/ethernet/intel/i40e/i40e_ethtool.c parent = rule; rule 3534 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule && (rule->fd_id == sw_idx)) { rule 3538 drivers/net/ethernet/intel/i40e/i40e_ethtool.c err = i40e_add_del_fdir(vsi, rule, false); rule 3539 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_del(&rule->fdir_node); rule 3540 drivers/net/ethernet/intel/i40e/i40e_ethtool.c kfree(rule); rule 3577 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule; rule 3583 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry(rule, &pf->fdir_filter_list, fdir_node) { rule 3584 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->flow_type != IP_USER_FLOW) rule 3586 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->flex_filter && rule 3587 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule->flex_offset == entry->src_offset) { rule 3606 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry(rule, &pf->fdir_filter_list, fdir_node) { rule 3610 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->flow_type == IP_USER_FLOW) rule 3612 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->flex_filter && rule 3613 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule->flex_offset == entry->src_offset) { rule 4404 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule; rule 4408 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 4414 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->fd_id == input->fd_id) rule 4420 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_match_fdir_filter(rule, input)) { rule 4423 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule->fd_id); rule 4651 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_fdir_filter *rule; rule 4681 drivers/net/ethernet/intel/i40e/i40e_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 4683 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->dest_ctl != drop && count <= rule->q_index) { rule 4686 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rule->fd_id, rule->q_index); rule 7746 drivers/net/ethernet/intel/i40e/i40e_main.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 7747 drivers/net/ethernet/intel/i40e/i40e_main.c struct flow_dissector *dissector = rule->match.dissector; rule 7766 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 7769 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_enc_keyid(rule, &match); rule 7776 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 7779 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_basic(rule, &match); rule 7791 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 7794 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_eth_addrs(rule, &match); rule 7820 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 7823 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_vlan(rule, &match); rule 7838 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 7841 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_control(rule, &match); rule 7848 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_ipv4_addrs(rule, &match); rule 7880 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_ipv6_addrs(rule, &match); rule 7901 drivers/net/ethernet/intel/i40e/i40e_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 7904 drivers/net/ethernet/intel/i40e/i40e_main.c flow_rule_match_ports(rule, &match); rule 2691 drivers/net/ethernet/intel/iavf/iavf_main.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 2692 drivers/net/ethernet/intel/iavf/iavf_main.c struct flow_dissector *dissector = rule->match.dissector; rule 2715 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 2718 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_enc_keyid(rule, &match); rule 2723 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 2726 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_basic(rule, &match); rule 2748 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 2751 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_eth_addrs(rule, &match); rule 2795 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 2798 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_vlan(rule, &match); rule 2812 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 2815 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_control(rule, &match); rule 2822 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_ipv4_addrs(rule, &match); rule 2860 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_ipv6_addrs(rule, &match); rule 2891 drivers/net/ethernet/intel/iavf/iavf_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 2894 drivers/net/ethernet/intel/iavf/iavf_main.c flow_rule_match_ports(rule, &match); rule 2455 drivers/net/ethernet/intel/igb/igb_ethtool.c struct igb_nfc_filter *rule = NULL; rule 2460 drivers/net/ethernet/intel/igb/igb_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 2461 drivers/net/ethernet/intel/igb/igb_ethtool.c if (fsp->location <= rule->sw_idx) rule 2465 drivers/net/ethernet/intel/igb/igb_ethtool.c if (!rule || fsp->location != rule->sw_idx) rule 2468 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->filter.match_flags) { rule 2470 drivers/net/ethernet/intel/igb/igb_ethtool.c fsp->ring_cookie = rule->action; rule 2471 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->filter.match_flags & IGB_FILTER_FLAG_ETHER_TYPE) { rule 2472 drivers/net/ethernet/intel/igb/igb_ethtool.c fsp->h_u.ether_spec.h_proto = rule->filter.etype; rule 2475 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->filter.match_flags & IGB_FILTER_FLAG_VLAN_TCI) { rule 2477 drivers/net/ethernet/intel/igb/igb_ethtool.c fsp->h_ext.vlan_tci = rule->filter.vlan_tci; rule 2480 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->filter.match_flags & IGB_FILTER_FLAG_DST_MAC_ADDR) { rule 2482 drivers/net/ethernet/intel/igb/igb_ethtool.c rule->filter.dst_addr); rule 2488 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->filter.match_flags & IGB_FILTER_FLAG_SRC_MAC_ADDR) { rule 2490 drivers/net/ethernet/intel/igb/igb_ethtool.c rule->filter.src_addr); rule 2506 drivers/net/ethernet/intel/igb/igb_ethtool.c struct igb_nfc_filter *rule; rule 2512 drivers/net/ethernet/intel/igb/igb_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 2515 drivers/net/ethernet/intel/igb/igb_ethtool.c rule_locs[cnt] = rule->sw_idx; rule 2869 drivers/net/ethernet/intel/igb/igb_ethtool.c struct igb_nfc_filter *rule, *parent; rule 2873 drivers/net/ethernet/intel/igb/igb_ethtool.c rule = NULL; rule 2875 drivers/net/ethernet/intel/igb/igb_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 2877 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule->sw_idx >= sw_idx) rule 2879 drivers/net/ethernet/intel/igb/igb_ethtool.c parent = rule; rule 2883 drivers/net/ethernet/intel/igb/igb_ethtool.c if (rule && (rule->sw_idx == sw_idx)) { rule 2885 drivers/net/ethernet/intel/igb/igb_ethtool.c err = igb_erase_filter(adapter, rule); rule 2887 drivers/net/ethernet/intel/igb/igb_ethtool.c hlist_del(&rule->nfc_node); rule 2888 drivers/net/ethernet/intel/igb/igb_ethtool.c kfree(rule); rule 2919 drivers/net/ethernet/intel/igb/igb_ethtool.c struct igb_nfc_filter *input, *rule; rule 2980 drivers/net/ethernet/intel/igb/igb_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 2981 drivers/net/ethernet/intel/igb/igb_ethtool.c if (!memcmp(&input->filter, &rule->filter, rule 2466 drivers/net/ethernet/intel/igb/igb_main.c struct igb_nfc_filter *rule; rule 2469 drivers/net/ethernet/intel/igb/igb_main.c hlist_for_each_entry_safe(rule, node2, rule 2471 drivers/net/ethernet/intel/igb/igb_main.c igb_erase_filter(adapter, rule); rule 2472 drivers/net/ethernet/intel/igb/igb_main.c hlist_del(&rule->nfc_node); rule 2473 drivers/net/ethernet/intel/igb/igb_main.c kfree(rule); rule 2587 drivers/net/ethernet/intel/igb/igb_main.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 2588 drivers/net/ethernet/intel/igb/igb_main.c struct flow_dissector *dissector = rule->match.dissector; rule 2601 drivers/net/ethernet/intel/igb/igb_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 2604 drivers/net/ethernet/intel/igb/igb_main.c flow_rule_match_eth_addrs(rule, &match); rule 2628 drivers/net/ethernet/intel/igb/igb_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 2631 drivers/net/ethernet/intel/igb/igb_main.c flow_rule_match_basic(rule, &match); rule 2643 drivers/net/ethernet/intel/igb/igb_main.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 2646 drivers/net/ethernet/intel/igb/igb_main.c flow_rule_match_vlan(rule, &match); rule 9550 drivers/net/ethernet/intel/igb/igb_main.c struct igb_nfc_filter *rule; rule 9554 drivers/net/ethernet/intel/igb/igb_main.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) rule 9555 drivers/net/ethernet/intel/igb/igb_main.c igb_erase_filter(adapter, rule); rule 9557 drivers/net/ethernet/intel/igb/igb_main.c hlist_for_each_entry(rule, &adapter->cls_flower_list, nfc_node) rule 9558 drivers/net/ethernet/intel/igb/igb_main.c igb_erase_filter(adapter, rule); rule 9565 drivers/net/ethernet/intel/igb/igb_main.c struct igb_nfc_filter *rule; rule 9569 drivers/net/ethernet/intel/igb/igb_main.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) rule 9570 drivers/net/ethernet/intel/igb/igb_main.c igb_add_filter(adapter, rule); rule 882 drivers/net/ethernet/intel/igc/igc_ethtool.c struct igc_nfc_filter *rule = NULL; rule 887 drivers/net/ethernet/intel/igc/igc_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 888 drivers/net/ethernet/intel/igc/igc_ethtool.c if (fsp->location <= rule->sw_idx) rule 892 drivers/net/ethernet/intel/igc/igc_ethtool.c if (!rule || fsp->location != rule->sw_idx) rule 895 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->filter.match_flags) { rule 897 drivers/net/ethernet/intel/igc/igc_ethtool.c fsp->ring_cookie = rule->action; rule 898 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->filter.match_flags & IGC_FILTER_FLAG_ETHER_TYPE) { rule 899 drivers/net/ethernet/intel/igc/igc_ethtool.c fsp->h_u.ether_spec.h_proto = rule->filter.etype; rule 902 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI) { rule 904 drivers/net/ethernet/intel/igc/igc_ethtool.c fsp->h_ext.vlan_tci = rule->filter.vlan_tci; rule 907 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->filter.match_flags & IGC_FILTER_FLAG_DST_MAC_ADDR) { rule 909 drivers/net/ethernet/intel/igc/igc_ethtool.c rule->filter.dst_addr); rule 915 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->filter.match_flags & IGC_FILTER_FLAG_SRC_MAC_ADDR) { rule 917 drivers/net/ethernet/intel/igc/igc_ethtool.c rule->filter.src_addr); rule 933 drivers/net/ethernet/intel/igc/igc_ethtool.c struct igc_nfc_filter *rule; rule 939 drivers/net/ethernet/intel/igc/igc_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 942 drivers/net/ethernet/intel/igc/igc_ethtool.c rule_locs[cnt] = rule->sw_idx; rule 1304 drivers/net/ethernet/intel/igc/igc_ethtool.c struct igc_nfc_filter *rule, *parent; rule 1308 drivers/net/ethernet/intel/igc/igc_ethtool.c rule = NULL; rule 1310 drivers/net/ethernet/intel/igc/igc_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 1312 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule->sw_idx >= sw_idx) rule 1314 drivers/net/ethernet/intel/igc/igc_ethtool.c parent = rule; rule 1318 drivers/net/ethernet/intel/igc/igc_ethtool.c if (rule && rule->sw_idx == sw_idx) { rule 1320 drivers/net/ethernet/intel/igc/igc_ethtool.c err = igc_erase_filter(adapter, rule); rule 1322 drivers/net/ethernet/intel/igc/igc_ethtool.c hlist_del(&rule->nfc_node); rule 1323 drivers/net/ethernet/intel/igc/igc_ethtool.c kfree(rule); rule 1354 drivers/net/ethernet/intel/igc/igc_ethtool.c struct igc_nfc_filter *input, *rule; rule 1415 drivers/net/ethernet/intel/igc/igc_ethtool.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) { rule 1416 drivers/net/ethernet/intel/igc/igc_ethtool.c if (!memcmp(&input->filter, &rule->filter, rule 2073 drivers/net/ethernet/intel/igc/igc_main.c struct igc_nfc_filter *rule; rule 2077 drivers/net/ethernet/intel/igc/igc_main.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) rule 2078 drivers/net/ethernet/intel/igc/igc_main.c igc_erase_filter(adapter, rule); rule 2080 drivers/net/ethernet/intel/igc/igc_main.c hlist_for_each_entry(rule, &adapter->cls_flower_list, nfc_node) rule 2081 drivers/net/ethernet/intel/igc/igc_main.c igc_erase_filter(adapter, rule); rule 2088 drivers/net/ethernet/intel/igc/igc_main.c struct igc_nfc_filter *rule; rule 2092 drivers/net/ethernet/intel/igc/igc_main.c hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) rule 2093 drivers/net/ethernet/intel/igc/igc_main.c igc_add_filter(adapter, rule); rule 2268 drivers/net/ethernet/intel/igc/igc_main.c struct igc_nfc_filter *rule; rule 2271 drivers/net/ethernet/intel/igc/igc_main.c hlist_for_each_entry_safe(rule, node2, rule 2273 drivers/net/ethernet/intel/igc/igc_main.c igc_erase_filter(adapter, rule); rule 2274 drivers/net/ethernet/intel/igc/igc_main.c hlist_del(&rule->nfc_node); rule 2275 drivers/net/ethernet/intel/igc/igc_main.c kfree(rule); rule 2417 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c struct ixgbe_fdir_filter *rule = NULL; rule 2422 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 2424 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (fsp->location <= rule->sw_idx) rule 2428 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (!rule || fsp->location != rule->sw_idx) rule 2434 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c switch (rule->filter.formatted.flow_type) { rule 2454 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_u.tcp_ip4_spec.psrc = rule->filter.formatted.src_port; rule 2456 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_u.tcp_ip4_spec.pdst = rule->filter.formatted.dst_port; rule 2458 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_u.tcp_ip4_spec.ip4src = rule->filter.formatted.src_ip[0]; rule 2460 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_u.tcp_ip4_spec.ip4dst = rule->filter.formatted.dst_ip[0]; rule 2462 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_ext.vlan_tci = rule->filter.formatted.vlan_id; rule 2464 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_ext.vlan_etype = rule->filter.formatted.flex_bytes; rule 2466 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->h_ext.data[1] = htonl(rule->filter.formatted.vm_pool); rule 2471 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (rule->action == IXGBE_FDIR_DROP_QUEUE) rule 2474 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c fsp->ring_cookie = rule->action; rule 2484 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c struct ixgbe_fdir_filter *rule; rule 2490 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 2494 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c rule_locs[cnt] = rule->sw_idx; rule 2582 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c struct ixgbe_fdir_filter *rule, *parent; rule 2586 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c rule = NULL; rule 2588 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c hlist_for_each_entry_safe(rule, node2, rule 2591 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (rule->sw_idx >= sw_idx) rule 2593 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c parent = rule; rule 2597 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (rule && (rule->sw_idx == sw_idx)) { rule 2598 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c if (!input || (rule->filter.formatted.bkt_hash != rule 2601 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c &rule->filter, rule 2605 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c hlist_del(&rule->fdir_node); rule 2606 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c kfree(rule); rule 880 drivers/net/ethernet/marvell/mvpp2/mvpp2.h struct mvpp2_rfs_rule rule; rule 1078 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct mvpp2_rfs_rule *rule) rule 1087 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c index = mvpp2_cls_c2_port_flow_index(port, rule->loc); rule 1092 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c act = &rule->flow->action.entries[0]; rule 1094 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_index = c2.index; rule 1096 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c c2.tcam[3] = (rule->c2_tcam & 0xffff) | rule 1097 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ((rule->c2_tcam_mask & 0xffff) << 16); rule 1098 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c c2.tcam[2] = ((rule->c2_tcam >> 16) & 0xffff) | rule 1099 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c (((rule->c2_tcam_mask >> 16) & 0xffff) << 16); rule 1100 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c c2.tcam[1] = ((rule->c2_tcam >> 32) & 0xffff) | rule 1101 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c (((rule->c2_tcam_mask >> 32) & 0xffff) << 16); rule 1102 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c c2.tcam[0] = ((rule->c2_tcam >> 48) & 0xffff) | rule 1103 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c (((rule->c2_tcam_mask >> 48) & 0xffff) << 16); rule 1111 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c c2.tcam[4] |= MVPP22_CLS_C2_LU_TYPE(rule->loc); rule 1166 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct mvpp2_rfs_rule *rule) rule 1168 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c return mvpp2_port_c2_tcam_rule_add(port, rule); rule 1172 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct mvpp2_rfs_rule *rule) rule 1178 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c for_each_cls_flow_id_containing_type(i, rule->flow_type) { rule 1183 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c index = MVPP2_CLS_FLT_C2_RFS(port->id, flow->flow_id, rule->loc); rule 1190 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (rule->c2_index >= 0) rule 1191 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c mvpp22_port_c2_lookup_disable(port, rule->c2_index); rule 1197 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct mvpp2_rfs_rule *rule) rule 1204 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (rule->engine != MVPP22_CLS_ENGINE_C2) rule 1207 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = mvpp2_port_c2_rfs_rule_insert(port, rule); rule 1211 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c for_each_cls_flow_id_containing_type(i, rule->flow_type) { rule 1216 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if ((rule->hek_fields & flow->supported_hash_opts) != rule->hek_fields) rule 1219 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c index = MVPP2_CLS_FLT_C2_RFS(port->id, flow->flow_id, rule->loc); rule 1222 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c mvpp2_cls_flow_eng_set(&fe, rule->engine); rule 1224 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c mvpp2_flow_set_hek_fields(&fe, rule->hek_fields); rule 1225 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c mvpp2_cls_flow_lu_type_set(&fe, rule->loc); rule 1234 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c static int mvpp2_cls_c2_build_match(struct mvpp2_rfs_rule *rule) rule 1236 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct flow_rule *flow = rule->flow; rule 1247 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->hek_fields |= MVPP22_CLS_HEK_OPT_VLAN; rule 1249 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam |= ((u64)match.key->vlan_id) << offs; rule 1250 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam_mask |= ((u64)match.mask->vlan_id) << offs; rule 1256 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->hek_fields |= MVPP22_CLS_HEK_OPT_VLAN_PRI; rule 1261 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam |= ((u64)match.key->vlan_priority) << rule 1263 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam_mask |= ((u64)match.mask->vlan_priority) << rule 1281 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->hek_fields |= MVPP22_CLS_HEK_OPT_L4SIP; rule 1283 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam |= ((u64)ntohs(match.key->src)) << offs; rule 1284 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam_mask |= ((u64)ntohs(match.mask->src)) << offs; rule 1289 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->hek_fields |= MVPP22_CLS_HEK_OPT_L4DIP; rule 1291 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam |= ((u64)ntohs(match.key->dst)) << offs; rule 1292 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->c2_tcam_mask |= ((u64)ntohs(match.mask->dst)) << offs; rule 1297 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (hweight16(rule->hek_fields) > MVPP2_FLOW_N_FIELDS) rule 1303 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c static int mvpp2_cls_rfs_parse_rule(struct mvpp2_rfs_rule *rule) rule 1305 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c struct flow_rule *flow = rule->flow; rule 1322 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c rule->engine = MVPP22_CLS_ENGINE_C2; rule 1324 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (mvpp2_cls_c2_build_match(rule)) rule 1376 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c efs->rule.flow = ethtool_rule->rule; rule 1377 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c efs->rule.flow_type = mvpp2_cls_ethtool_flow_to_type(info->fs.flow_type); rule 1378 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (efs->rule.flow_type < 0) { rule 1379 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = efs->rule.flow_type; rule 1383 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = mvpp2_cls_rfs_parse_rule(&efs->rule); rule 1387 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c efs->rule.loc = info->fs.location; rule 1390 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c if (port->rfs_rules[efs->rule.loc]) { rule 1391 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c old_efs = port->rfs_rules[efs->rule.loc]; rule 1392 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = mvpp2_port_cls_rfs_rule_remove(port, &old_efs->rule); rule 1399 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = mvpp2_port_flt_rfs_rule_insert(port, &efs->rule); rule 1404 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c efs->rule.flow = NULL; rule 1407 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c port->rfs_rules[efs->rule.loc] = efs; rule 1433 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c ret = mvpp2_port_cls_rfs_rule_remove(port, &efs->rule); rule 1594 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c struct mlx4_net_trans_rule rule = { rule 1601 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule.port = priv->port; rule 1602 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule.priority = MLX4_DOMAIN_ETHTOOL | cmd->fs.location; rule 1603 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c INIT_LIST_HEAD(&rule.list); rule 1623 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule.qpn = qpn; rule 1624 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c err = mlx4_en_ethtool_to_net_trans_rule(dev, cmd, &rule.list); rule 1641 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c err = mlx4_flow_attach(priv->mdev->dev, &rule, ®_id); rule 1653 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c list_for_each_entry_safe(spec, tmp_spec, &rule.list, list) { rule 1664 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c struct ethtool_flow_id *rule; rule 1670 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule = &priv->ethtool_rules[cmd->fs.location]; rule 1671 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c if (!rule->id) { rule 1676 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c err = mlx4_flow_detach(priv->mdev->dev, rule->id); rule 1679 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c cmd->fs.location, rule->id); rule 1682 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule->id = 0; rule 1683 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c memset(&rule->flow_spec, 0, sizeof(struct ethtool_rx_flow_spec)); rule 1684 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c list_del(&rule->list); rule 1694 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c struct ethtool_flow_id *rule; rule 1700 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c rule = &priv->ethtool_rules[loc]; rule 1701 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c if (rule->id) rule 1702 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c memcpy(&cmd->fs, &rule->flow_spec, rule 228 drivers/net/ethernet/mellanox/mlx4/en_netdev.c struct mlx4_net_trans_rule rule = { rule 229 drivers/net/ethernet/mellanox/mlx4/en_netdev.c .list = LIST_HEAD_INIT(rule.list), rule 245 drivers/net/ethernet/mellanox/mlx4/en_netdev.c list_add_tail(&spec_eth.list, &rule.list); rule 246 drivers/net/ethernet/mellanox/mlx4/en_netdev.c list_add_tail(&spec_ip.list, &rule.list); rule 247 drivers/net/ethernet/mellanox/mlx4/en_netdev.c list_add_tail(&spec_tcp_udp.list, &rule.list); rule 249 drivers/net/ethernet/mellanox/mlx4/en_netdev.c rule.qpn = priv->rss_map.qps[filter->rxq_index].qpn; rule 261 drivers/net/ethernet/mellanox/mlx4/en_netdev.c rc = mlx4_flow_attach(priv->mdev->dev, &rule, &filter->reg_id); rule 580 drivers/net/ethernet/mellanox/mlx4/en_netdev.c struct mlx4_net_trans_rule rule = { rule 588 drivers/net/ethernet/mellanox/mlx4/en_netdev.c rule.port = priv->port; rule 589 drivers/net/ethernet/mellanox/mlx4/en_netdev.c rule.qpn = *qpn; rule 590 drivers/net/ethernet/mellanox/mlx4/en_netdev.c INIT_LIST_HEAD(&rule.list); rule 595 drivers/net/ethernet/mellanox/mlx4/en_netdev.c list_add_tail(&spec_eth.list, &rule.list); rule 597 drivers/net/ethernet/mellanox/mlx4/en_netdev.c err = mlx4_flow_attach(dev, &rule, reg_id); rule 901 drivers/net/ethernet/mellanox/mlx4/mcg.c struct mlx4_net_trans_rule *rule) rule 911 drivers/net/ethernet/mellanox/mlx4/mcg.c rule->port, rule->priority, rule->qpn); rule 913 drivers/net/ethernet/mellanox/mlx4/mcg.c list_for_each_entry(cur, &rule->list, list) { rule 978 drivers/net/ethernet/mellanox/mlx4/mcg.c struct mlx4_net_trans_rule *rule, u64 *reg_id) rule 989 drivers/net/ethernet/mellanox/mlx4/mcg.c if (!mlx4_qp_lookup(dev, rule->qpn)) { rule 990 drivers/net/ethernet/mellanox/mlx4/mcg.c mlx4_err_rule(dev, "QP doesn't exist\n", rule); rule 995 drivers/net/ethernet/mellanox/mlx4/mcg.c trans_rule_ctrl_to_hw(rule, mailbox->buf); rule 999 drivers/net/ethernet/mellanox/mlx4/mcg.c list_for_each_entry(cur, &rule->list, list) { rule 1011 drivers/net/ethernet/mellanox/mlx4/mcg.c rule); rule 1018 drivers/net/ethernet/mellanox/mlx4/mcg.c rule); rule 1023 drivers/net/ethernet/mellanox/mlx4/mcg.c rule); rule 1026 drivers/net/ethernet/mellanox/mlx4/mcg.c mlx4_err_rule(dev, "Fail to register network rule.\n", rule); rule 1057 drivers/net/ethernet/mellanox/mlx4/mcg.c struct mlx4_net_trans_rule rule = { rule 1066 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.port = port; rule 1067 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.qpn = qpn; rule 1068 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.priority = prio; rule 1069 drivers/net/ethernet/mellanox/mlx4/mcg.c INIT_LIST_HEAD(&rule.list); rule 1078 drivers/net/ethernet/mellanox/mlx4/mcg.c list_add_tail(&spec_eth_outer.list, &rule.list); rule 1079 drivers/net/ethernet/mellanox/mlx4/mcg.c list_add_tail(&spec_vxlan.list, &rule.list); rule 1080 drivers/net/ethernet/mellanox/mlx4/mcg.c list_add_tail(&spec_eth_inner.list, &rule.list); rule 1082 drivers/net/ethernet/mellanox/mlx4/mcg.c err = mlx4_flow_attach(dev, &rule, reg_id); rule 1375 drivers/net/ethernet/mellanox/mlx4/mcg.c struct mlx4_net_trans_rule rule = { rule 1382 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.allow_loopback = !block_mcast_loopback; rule 1383 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.port = port; rule 1384 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.qpn = qp->qpn; rule 1385 drivers/net/ethernet/mellanox/mlx4/mcg.c INIT_LIST_HEAD(&rule.list); rule 1402 drivers/net/ethernet/mellanox/mlx4/mcg.c list_add_tail(&spec.list, &rule.list); rule 1404 drivers/net/ethernet/mellanox/mlx4/mcg.c return mlx4_flow_attach(dev, &rule, reg_id); rule 1469 drivers/net/ethernet/mellanox/mlx4/mcg.c struct mlx4_net_trans_rule rule = { rule 1491 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.promisc_mode = mode; rule 1492 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.port = port; rule 1493 drivers/net/ethernet/mellanox/mlx4/mcg.c rule.qpn = qpn; rule 1494 drivers/net/ethernet/mellanox/mlx4/mcg.c INIT_LIST_HEAD(&rule.list); rule 1497 drivers/net/ethernet/mellanox/mlx4/mcg.c return mlx4_flow_attach(dev, &rule, regid_p); rule 30 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h __dynamic_array(int, ids, f->rule ? rule 31 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h f->rule->action.num_entries : 0) rule 34 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h __entry->num = (f->rule ? rule 35 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h f->rule->action.num_entries : 0); rule 38 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h f->rule->action.entries, rule 39 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h f->rule->action.num_entries); rule 274 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_PROTO(const struct mlx5_flow_rule *rule), rule 275 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_ARGS(rule), rule 277 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct mlx5_flow_rule *, rule) rule 285 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule = rule; rule 286 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h fs_get_obj(__entry->fte, rule->node.parent); rule 288 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->sw_action = rule->sw_action; rule 290 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h &rule->dest_attr, rule 292 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h if (rule->dest_attr.type & rule 295 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h rule->dest_attr.counter_id; rule 298 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule, __entry->fte, __entry->index, rule 304 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_PROTO(const struct mlx5_flow_rule *rule), rule 305 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h TP_ARGS(rule), rule 307 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __field(const struct mlx5_flow_rule *, rule) rule 311 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule = rule; rule 312 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h fs_get_obj(__entry->fte, rule->node.parent); rule 315 drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h __entry->rule, __entry->fte) rule 34 drivers/net/ethernet/mellanox/mlx5/core/en/fs.h struct mlx5_flow_handle *rule; rule 516 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 522 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS)) { rule 530 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c flow_rule_match_enc_ports(rule, &enc_ports); rule 25 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 29 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS)) rule 32 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c flow_rule_match_enc_ports(rule, &enc_ports); rule 127 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 135 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) rule 138 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c flow_rule_match_enc_keyid(rule, &enc_keyid); rule 161 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 174 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_OPTS)) rule 177 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c flow_rule_match_enc_opts(rule, &enc_opts); rule 63 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 73 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 76 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c flow_rule_match_enc_keyid(rule, &enc_keyid); rule 21 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 25 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS)) rule 28 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c flow_rule_match_enc_ports(rule, &enc_ports); rule 107 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 115 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) rule 118 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c flow_rule_match_enc_keyid(rule, &enc_keyid); rule 57 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct mlx5_flow_handle *rule; rule 394 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (arfs_rule->rule) rule 395 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c mlx5_del_flow_rules(arfs_rule->rule); rule 404 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct arfs_rule *rule; rule 410 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c mlx5e_for_each_arfs_rule(rule, htmp, priv->fs.arfs.arfs_tables, i, j) { rule 411 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c hlist_del_init(&rule->hlist); rule 412 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c hlist_add_head(&rule->hlist, &del_list); rule 416 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c hlist_for_each_entry_safe(rule, htmp, &del_list, hlist) { rule 417 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c cancel_work_sync(&rule->arfs_work); rule 418 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (rule->rule) rule 419 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c mlx5_del_flow_rules(rule->rule); rule 420 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c hlist_del(&rule->hlist); rule 421 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c kfree(rule); rule 460 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct mlx5_flow_handle *rule = NULL; rule 537 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); rule 538 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (IS_ERR(rule)) { rule 539 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c err = PTR_ERR(rule); rule 549 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c return err ? ERR_PTR(err) : rule; rule 553 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct mlx5_flow_handle *rule, u16 rxq) rule 560 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c err = mlx5_modify_rule_destination(rule, &dst, NULL); rule 572 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct mlx5_flow_handle *rule; rule 586 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (!arfs_rule->rule) { rule 587 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule = arfs_add_rule(priv, arfs_rule); rule 588 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (IS_ERR(rule)) rule 590 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c arfs_rule->rule = rule; rule 592 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c arfs_modify_rule_rq(priv, arfs_rule->rule, rule 604 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c struct arfs_rule *rule; rule 607 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule = kzalloc(sizeof(*rule), GFP_ATOMIC); rule 608 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c if (!rule) rule 611 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule->priv = priv; rule 612 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule->rxq = rxq; rule 613 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c INIT_WORK(&rule->arfs_work, arfs_handle_work); rule 615 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c tuple = &rule->tuple; rule 630 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule->flow_id = flow_id; rule 631 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c rule->filter_id = priv->fs.arfs.last_filter_id++ % RPS_NO_FILTER; rule 633 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c hlist_add_head(&rule->hlist, rule 636 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c return rule; rule 819 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c struct mlx5_flow_handle *rule; rule 845 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); rule 846 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c if (IS_ERR(rule)) { rule 847 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c err = PTR_ERR(rule); rule 852 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c return err ? ERR_PTR(err) : rule; rule 981 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c struct mlx5_flow_handle *rule; rule 1003 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); rule 1004 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c if (IS_ERR(rule)) { rule 1005 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c err = PTR_ERR(rule); rule 1010 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c return err ? ERR_PTR(err) : rule; rule 1216 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c if (!IS_ERR_OR_NULL(ai->rule)) { rule 1217 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c mlx5_del_flow_rules(ai->rule); rule 1218 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c ai->rule = NULL; rule 1262 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c ai->rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); rule 1263 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c if (IS_ERR(ai->rule)) { rule 1266 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c err = PTR_ERR(ai->rule); rule 1267 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c ai->rule = NULL; rule 41 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c struct mlx5_flow_handle *rule; rule 372 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c struct mlx5e_ethtool_rule *rule) rule 378 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c if (iter->flow_spec.location > rule->flow_spec.location) rule 383 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c list_add(&rule->list, head); rule 404 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c struct mlx5_flow_handle *rule; rule 440 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c rule = mlx5_add_flow_rules(ft, spec, &flow_act, dst, dst ? 1 : 0); rule 441 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c if (IS_ERR(rule)) { rule 442 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c err = PTR_ERR(rule); rule 450 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c return err ? ERR_PTR(err) : rule; rule 456 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c if (eth_rule->rule) rule 457 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c mlx5_del_flow_rules(eth_rule->rule); rule 671 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c struct mlx5_flow_handle *rule; rule 698 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c rule = add_ethtool_flow_rule(priv, eth_ft->ft, fs); rule 699 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c if (IS_ERR(rule)) { rule 700 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c err = PTR_ERR(rule); rule 704 drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c eth_rule->rule = rule; rule 117 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct mlx5_flow_handle *rule[MLX5E_TC_MAX_SPLITS + 1]; rule 987 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[0] = mlx5_add_flow_rules(priv->fs.tc.t, &parse_attr->spec, rule 991 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return PTR_ERR_OR_ZERO(flow->rule[0]); rule 1001 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (!IS_ERR_OR_NULL(flow->rule[0])) rule 1002 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c mlx5_del_flow_rules(flow->rule[0]); rule 1036 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct mlx5_flow_handle *rule; rule 1038 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c rule = mlx5_eswitch_add_offloaded_rule(esw, spec, attr); rule 1039 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (IS_ERR(rule)) rule 1040 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return rule; rule 1043 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[1] = mlx5_eswitch_add_fwd_rule(esw, spec, attr); rule 1044 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (IS_ERR(flow->rule[1])) { rule 1045 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c mlx5_eswitch_del_offloaded_rule(esw, rule, attr); rule 1046 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return flow->rule[1]; rule 1050 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return rule; rule 1061 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c mlx5_eswitch_del_fwd_rule(esw, flow->rule[1], attr); rule 1063 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c mlx5_eswitch_del_offloaded_rule(esw, flow->rule[0], attr); rule 1072 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct mlx5_flow_handle *rule; rule 1079 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c rule = mlx5e_tc_offload_fdb_rules(esw, flow, spec, slow_attr); rule 1080 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (!IS_ERR(rule)) rule 1083 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return rule; rule 1228 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[0] = mlx5e_tc_offload_to_slow_path(esw, flow, &parse_attr->spec, &slow_attr); rule 1230 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[0] = mlx5e_tc_offload_fdb_rules(esw, flow, &parse_attr->spec, attr); rule 1233 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (IS_ERR(flow->rule[0])) rule 1234 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return PTR_ERR(flow->rule[0]); rule 1300 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct mlx5_flow_handle *rule; rule 1344 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c rule = mlx5e_tc_offload_fdb_rules(esw, flow, spec, esw_attr); rule 1345 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (IS_ERR(rule)) { rule 1346 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c err = PTR_ERR(rule); rule 1353 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[0] = rule; rule 1365 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct mlx5_flow_handle *rule; rule 1376 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c rule = mlx5e_tc_offload_to_slow_path(esw, flow, spec, &slow_attr); rule 1380 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (IS_ERR(rule)) { rule 1381 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c err = PTR_ERR(rule); rule 1388 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow->rule[0] = rule; rule 1662 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 1673 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_CONTROL)) { rule 1677 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_enc_control(rule, &match); rule 1684 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_enc_ipv4_addrs(rule, &match); rule 1706 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_enc_ipv6_addrs(rule, &match); rule 1732 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IP)) { rule 1735 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_enc_ip(rule, &match); rule 1812 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 1813 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_dissector *dissector = rule->match.dissector; rule 1860 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 1863 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_basic(rule, &match); rule 1872 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN) || rule 1887 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_vlan(rule, &match); rule 1925 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CVLAN)) { rule 1928 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_cvlan(rule, &match); rule 1957 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 1960 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_eth_addrs(rule, &match); rule 1980 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 1983 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_control(rule, &match); rule 2004 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 2007 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_basic(rule, &match); rule 2022 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_ipv4_addrs(rule, &match); rule 2043 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_ipv6_addrs(rule, &match); rule 2063 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) { rule 2066 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_ip(rule, &match); rule 2096 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 2099 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_ports(rule, &match); rule 2136 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_TCP)) { rule 2139 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c flow_rule_match_tcp(rule, &match); rule 3594 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 3617 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c err = parse_tc_fdb_actions(priv, &rule->action, flow, extack); rule 3729 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 3752 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c err = parse_tc_nic_actions(priv, &rule->action, parse_attr, flow, extack); rule 4024 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c return scan_tc_matchall_fdb_actions(priv, &ma->rule->action, extack); rule 293 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h void mlx5_eswitch_del_send_to_vport_rule(struct mlx5_flow_handle *rule); rule 332 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h struct mlx5_flow_handle *rule, rule 336 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h struct mlx5_flow_handle *rule, rule 146 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c struct mlx5_flow_handle *rule; rule 175 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = ERR_CAST(ft); rule 220 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = ERR_CAST(fdb); rule 225 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = mlx5_eswitch_add_termtbl_rule(esw, fdb, spec, attr, rule 228 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = mlx5_add_flow_rules(fdb, spec, &flow_act, dest, i); rule 229 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (IS_ERR(rule)) rule 234 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c return rule; rule 242 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c return rule; rule 254 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c struct mlx5_flow_handle *rule; rule 259 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = ERR_CAST(fast_fdb); rule 265 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = ERR_CAST(fwd_fdb); rule 291 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c rule = mlx5_add_flow_rules(fast_fdb, spec, &flow_act, dest, i); rule 293 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (IS_ERR(rule)) rule 298 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c return rule; rule 304 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c return rule; rule 309 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c struct mlx5_flow_handle *rule, rule 316 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_del_flow_rules(rule); rule 338 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c struct mlx5_flow_handle *rule, rule 341 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c __mlx5_eswitch_del_rule(esw, rule, attr, false); rule 346 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c struct mlx5_flow_handle *rule, rule 349 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c __mlx5_eswitch_del_rule(esw, rule, attr, true); rule 587 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c void mlx5_eswitch_del_send_to_vport_rule(struct mlx5_flow_handle *rule) rule 589 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_del_flow_rules(rule); rule 14 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c struct mlx5_flow_handle *rule; rule 75 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c tt->rule = mlx5_add_flow_rules(tt->termtbl, &spec, flow_act, rule 78 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c if (IS_ERR(tt->rule)) { rule 153 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c mlx5_del_flow_rules(tt->rule); rule 219 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c struct mlx5_flow_handle *rule = NULL; rule 255 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c rule = mlx5_add_flow_rules(fdb, spec, flow_act, dest, num_dest); rule 256 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c if (IS_ERR(rule)) rule 285 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c rule = mlx5_add_flow_rules(fdb, spec, flow_act, dest, num_dest); rule 287 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c return rule; rule 865 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule = rule 869 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (rule->fte < fte) rule 871 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c else if (rule->fte > fte) rule 874 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return rule; rule 882 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule; rule 885 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule = _rule_search(&ipsec_dev->rules_rb, fte); rule 888 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c return rule; rule 892 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule) rule 903 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (rule->fte < this->fte) rule 905 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c else if (rule->fte > this->fte) rule 912 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rb_link_node(&rule->node, parent, new); rule 913 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rb_insert_color(&rule->node, root); rule 919 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule) rule 924 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c ret = _rule_insert(&ipsec_dev->rules_rb, rule); rule 931 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule) rule 936 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rb_erase(&rule->node, root); rule 941 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule) rule 943 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c _rule_delete(ipsec_dev, rule); rule 944 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c kfree(rule); rule 1052 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule; rule 1063 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 1064 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (!rule) rule 1067 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule->ctx = mlx5_fpga_ipsec_fs_create_sa_ctx(dev, fte, is_egress); rule 1068 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (IS_ERR(rule->ctx)) { rule 1069 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c int err = PTR_ERR(rule->ctx); rule 1070 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c kfree(rule); rule 1074 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule->fte = fte; rule 1075 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c WARN_ON(rule_insert(fipsec, rule)); rule 1081 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c _rule_delete(fipsec, rule); rule 1082 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mlx5_fpga_ipsec_delete_sa_ctx(rule->ctx); rule 1083 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c kfree(rule); rule 1132 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_ipsec_rule *rule; rule 1143 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule = rule_search(fipsec, fte); rule 1144 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (!rule) rule 1147 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mlx5_fpga_ipsec_delete_sa_ctx(rule->ctx); rule 1148 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c rule_delete(fipsec, rule); rule 478 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_rule *rule; rule 481 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(rule, node); rule 482 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, rule->node.parent); rule 483 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c trace_mlx5_fs_del_rule(rule); rule 484 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (rule->sw_action == MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_PRIO) { rule 485 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mutex_lock(&rule->dest_attr.ft->lock); rule 486 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_del(&rule->next_ft); rule 487 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mutex_unlock(&rule->dest_attr.ft->lock); rule 490 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (rule->dest_attr.type == MLX5_FLOW_DESTINATION_TYPE_COUNTER && rule 505 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(rule); rule 886 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int _mlx5_modify_rule_destination(struct mlx5_flow_rule *rule, rule 896 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, rule->node.parent); rule 903 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c memcpy(&rule->dest_attr, dest, sizeof(*dest)); rule 921 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return _mlx5_modify_rule_destination(handle->rule[0], rule 926 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (mlx5_flow_dests_cmp(new_dest, &handle->rule[i]->dest_attr)) rule 927 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return _mlx5_modify_rule_destination(handle->rule[i], rule 1176 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_rule *rule; rule 1178 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 1179 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!rule) rule 1182 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c INIT_LIST_HEAD(&rule->next_ft); rule 1183 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule->node.type = FS_TYPE_FLOW_DEST; rule 1185 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c memcpy(&rule->dest_attr, dest, sizeof(*dest)); rule 1187 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1194 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c handle = kzalloc(struct_size(handle, rule, num_rules), GFP_KERNEL); rule 1209 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (refcount_dec_and_test(&handle->rule[i]->node.refcount)) { rule 1211 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_del(&handle->rule[i]->node.list); rule 1212 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(handle->rule[i]); rule 1226 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_rule *rule = NULL; rule 1238 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = find_flow_rule(fte, dest + i); rule 1239 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (rule) { rule 1240 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c refcount_inc(&rule->node.refcount); rule 1246 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = alloc_rule(dest + i); rule 1247 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!rule) rule 1253 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_init_node(&rule->node, NULL, del_sw_hw_rule); rule 1256 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add(&rule->node.list, &fte->node.children); rule 1258 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add_tail(&rule->node.list, &fte->node.children); rule 1267 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c handle->rule[i] = rule; rule 1437 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_rule *rule; rule 1439 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_for_each_entry(rule, &fte->node.children, node.list) { rule 1440 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (mlx5_flow_dests_cmp(&rule->dest_attr, dest)) rule 1441 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1517 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (refcount_read(&handle->rule[i]->node.refcount) == 1) { rule 1518 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_add_node(&handle->rule[i]->node, &fte->node); rule 1519 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c trace_mlx5_fs_add_rule(handle->rule[i]); rule 1671 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_handle *rule; rule 1694 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte_tmp); rule 1698 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1710 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = ERR_PTR(-EAGAIN); rule 1741 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); rule 1744 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1746 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = ERR_PTR(-ENOENT); rule 1749 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1762 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_handle *rule; rule 1794 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = try_add_to_existing_fg(ft, &match_head.list, spec, flow_act, dest, rule 1797 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!IS_ERR(rule) || rule 1798 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c (PTR_ERR(rule) != -ENOENT && PTR_ERR(rule) != -EAGAIN)) { rule 1801 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1809 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (PTR_ERR(rule) == -EAGAIN || rule 1815 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = ERR_CAST(g); rule 1817 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1841 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); rule 1845 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return rule; rule 1897 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c (list_empty(&handle->rule[0]->next_ft))) { rule 1899 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c list_add(&handle->rule[0]->next_ft, rule 1902 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c handle->rule[0]->sw_action = MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_PRIO; rule 1927 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fs_get_obj(fte, handle->rule[0]->node.parent); rule 1930 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c tree_remove_node(&handle->rule[i]->node, true); rule 149 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h struct mlx5_flow_rule *rule[]; rule 355 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_htbl(struct mlx5dr_rule *rule, rule 363 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; rule 472 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static struct mlx5dr_ste_htbl *dr_rule_rehash(struct mlx5dr_rule *rule, rule 478 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; rule 487 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c return dr_rule_rehash_htbl(rule, nic_rule, cur_htbl, ste_location, rule 530 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static void dr_rule_remove_action_members(struct mlx5dr_rule *rule) rule 535 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c list_for_each_entry_safe(action_mem, tmp, &rule->rule_actions_list, list) { rule 542 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_add_action_members(struct mlx5dr_rule *rule, rule 556 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c list_add_tail(&action_mem->list, &rule->rule_actions_list); rule 563 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_remove_action_members(rule); rule 582 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static void dr_rule_clean_rule_members(struct mlx5dr_rule *rule, rule 593 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(rule_mem->ste, rule->matcher, nic_rule->nic_matcher); rule 652 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_handle_action_stes(struct mlx5dr_rule *rule, rule 662 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; rule 768 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_handle_ste_branch(struct mlx5dr_rule *rule, rule 776 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; rule 825 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_htbl = dr_rule_rehash(rule, nic_rule, cur_htbl, rule 938 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_destroy_rule_nic(struct mlx5dr_rule *rule, rule 941 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_clean_rule_members(rule, nic_rule); rule 945 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_destroy_rule_fdb(struct mlx5dr_rule *rule) rule 947 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_nic(rule, &rule->rx); rule 948 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_nic(rule, &rule->tx); rule 952 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_destroy_rule(struct mlx5dr_rule *rule) rule 954 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; rule 958 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_nic(rule, &rule->rx); rule 961 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_nic(rule, &rule->tx); rule 964 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_fdb(rule); rule 970 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_remove_action_members(rule); rule 971 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c kfree(rule); rule 1015 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_rule_nic(struct mlx5dr_rule *rule, rule 1022 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; rule 1076 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste = dr_rule_handle_ste_branch(rule, rule 1102 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_handle_action_stes(rule, nic_rule, &send_ste_list, rule 1124 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_clean_rule_members(rule, nic_rule); rule 1137 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_rule_fdb(struct mlx5dr_rule *rule, rule 1150 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_create_rule_nic(rule, &rule->rx, param, rule 1155 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_create_rule_nic(rule, &rule->tx, ©_param, rule 1163 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_destroy_rule_nic(rule, &rule->rx); rule 1175 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_rule *rule; rule 1181 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 1182 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (!rule) rule 1185 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->matcher = matcher; rule 1186 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c INIT_LIST_HEAD(&rule->rule_actions_list); rule 1188 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_add_action_members(rule, num_actions, actions); rule 1194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; rule 1195 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_create_rule_nic(rule, &rule->rx, ¶m, rule 1199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; rule 1200 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_create_rule_nic(rule, &rule->tx, ¶m, rule 1204 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; rule 1205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; rule 1206 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_create_rule_fdb(rule, ¶m, rule 1217 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c return rule; rule 1220 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_remove_action_members(rule); rule 1222 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c kfree(rule); rule 1232 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_rule *rule; rule 1237 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule = dr_rule_create_rule(matcher, value, num_actions, actions); rule 1238 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (!rule) rule 1243 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c return rule; rule 1246 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c int mlx5dr_rule_destroy(struct mlx5dr_rule *rule) rule 1248 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher *matcher = rule->matcher; rule 1249 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_table *tbl = rule->matcher->tbl; rule 1254 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = dr_rule_destroy_rule(rule); rule 223 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct mlx5dr_rule *rule; rule 422 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c rule = mlx5dr_rule_create(group->fs_dr_matcher.dr_matcher, rule 426 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (!rule) { rule 432 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c fte->fs_dr_rule.dr_rule = rule; rule 541 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c struct mlx5_fs_dr_rule *rule = &fte->fs_dr_rule; rule 548 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c err = mlx5dr_rule_destroy(rule->dr_rule); rule 552 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c for (i = 0; i < rule->num_actions; i++) rule 553 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c if (!IS_ERR_OR_NULL(rule->dr_actions[i])) rule 554 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c mlx5dr_action_destroy(rule->dr_actions[i]); rule 556 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c kfree(rule->dr_actions); rule 69 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h int mlx5dr_rule_destroy(struct mlx5dr_rule *rule); rule 158 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_rule_destroy(struct mlx5dr_rule *rule) { return 0; } rule 1427 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!flow_offload_has_one_action(&f->rule->action)) { rule 1437 drivers/net/ethernet/mellanox/mlxsw/spectrum.c act = &f->rule->action.entries[0]; rule 742 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_sp_acl_rule *rule); rule 744 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_sp_acl_rule *rule); rule 746 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_sp_acl_rule *rule); rule 748 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_sp_acl_rule *rule, rule 755 drivers/net/ethernet/mellanox/mlxsw/spectrum.h mlxsw_sp_acl_rule_rulei(struct mlxsw_sp_acl_rule *rule); rule 757 drivers/net/ethernet/mellanox/mlxsw/spectrum.h struct mlxsw_sp_acl_rule *rule, rule 184 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_rule_parse(struct mlxsw_sp_acl_rule *rule, rule 190 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c rulei = mlxsw_sp_acl_rule_rulei(rule); rule 215 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp_acl_rule *rule; rule 223 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c rule = mlxsw_sp_acl_rule_create(mlxsw_sp, ruleset, rule 226 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (IS_ERR(rule)) rule 227 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return PTR_ERR(rule); rule 229 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_rule_parse(rule, key, prio); rule 230 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c err = mlxsw_sp_acl_rule_add(mlxsw_sp, rule); rule 237 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_rule_destroy(mlxsw_sp, rule); rule 248 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp_acl_rule *rule; rule 254 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c rule = mlxsw_sp_acl_rule_lookup(mlxsw_sp, ruleset, rule 256 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (WARN_ON(!rule)) rule 259 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_rule_del(mlxsw_sp, rule); rule 260 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_rule_destroy(mlxsw_sp, rule); rule 272 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp_acl_rule *rule; rule 278 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c rule = mlxsw_sp_acl_rule_lookup(mlxsw_sp, ruleset, rule 280 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (WARN_ON(!rule)) rule 283 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return mlxsw_sp_acl_rule_action_replace(mlxsw_sp, rule, afa_block); rule 640 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule; rule 644 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule = kzalloc(sizeof(*rule) + ops->rule_priv_size, rule 646 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c if (!rule) { rule 650 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->cookie = cookie; rule 651 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->ruleset = ruleset; rule 653 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->rulei = mlxsw_sp_acl_rulei_create(mlxsw_sp->acl, afa_block); rule 654 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c if (IS_ERR(rule->rulei)) { rule 655 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c err = PTR_ERR(rule->rulei); rule 659 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c return rule; rule 662 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c kfree(rule); rule 669 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule) rule 671 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_ruleset *ruleset = rule->ruleset; rule 673 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c mlxsw_sp_acl_rulei_destroy(rule->rulei); rule 674 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c kfree(rule); rule 679 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule) rule 681 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_ruleset *ruleset = rule->ruleset; rule 686 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c err = ops->rule_add(mlxsw_sp, ruleset->priv, rule->priv, rule->rulei); rule 690 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c err = rhashtable_insert_fast(&ruleset->rule_ht, &rule->ht_node, rule 707 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c list_add_tail(&rule->list, &mlxsw_sp->acl->rules); rule 710 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c block->egress_blocker_rule_count += rule->rulei->egress_bind_blocker; rule 714 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rhashtable_remove_fast(&ruleset->rule_ht, &rule->ht_node, rule 717 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c ops->rule_del(mlxsw_sp, rule->priv); rule 722 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule) rule 724 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_ruleset *ruleset = rule->ruleset; rule 728 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c block->egress_blocker_rule_count -= rule->rulei->egress_bind_blocker; rule 731 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c list_del(&rule->list); rule 737 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rhashtable_remove_fast(&ruleset->rule_ht, &rule->ht_node, rule 739 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c ops->rule_del(mlxsw_sp, rule->priv); rule 743 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule, rule 746 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_ruleset *ruleset = rule->ruleset; rule 750 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rulei = mlxsw_sp_acl_rule_rulei(rule); rule 753 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c return ops->rule_action_replace(mlxsw_sp, rule->priv, rule->rulei); rule 766 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c mlxsw_sp_acl_rule_rulei(struct mlxsw_sp_acl_rule *rule) rule 768 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c return rule->rulei; rule 772 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule) rule 774 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_ruleset *ruleset = rule->ruleset; rule 779 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c err = ops->rule_activity_get(mlxsw_sp, rule->priv, &active); rule 783 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->last_used = jiffies; rule 789 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule; rule 793 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c list_for_each_entry(rule, &acl->rules, list) { rule 795 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule); rule 829 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c struct mlxsw_sp_acl_rule *rule, rule 838 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rulei = mlxsw_sp_acl_rule_rulei(rule); rule 844 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c *packets = current_packets - rule->last_packets; rule 845 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c *bytes = current_bytes - rule->last_bytes; rule 846 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c *last_use = rule->last_used; rule 848 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->last_bytes = current_bytes; rule 849 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c rule->last_packets = current_packets; rule 1642 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_flower_rule *rule = rule_priv; rule 1645 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c &rule->ventry, rulei); rule 1651 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_flower_rule *rule = rule_priv; rule 1653 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c mlxsw_sp_acl_tcam_ventry_del(mlxsw_sp, &rule->ventry); rule 1668 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_flower_rule *rule = rule_priv; rule 1670 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c return mlxsw_sp_acl_tcam_ventry_activity_get(mlxsw_sp, &rule->ventry, rule 1774 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_mr_rule *rule = rule_priv; rule 1777 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c &rule->ventry, rulei); rule 1783 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_mr_rule *rule = rule_priv; rule 1785 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c mlxsw_sp_acl_tcam_ventry_del(mlxsw_sp, &rule->ventry); rule 1793 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_mr_rule *rule = rule_priv; rule 1795 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c return mlxsw_sp_acl_tcam_ventry_action_replace(mlxsw_sp, &rule->ventry, rule 1803 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c struct mlxsw_sp_acl_tcam_mr_rule *rule = rule_priv; rule 1805 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c return mlxsw_sp_acl_tcam_ventry_activity_get(mlxsw_sp, &rule->ventry, rule 146 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 151 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_META)) rule 154 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_meta(rule, &match); rule 190 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_ipv4_addrs(f->rule, &match); rule 205 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_ipv6_addrs(f->rule, &match); rule 238 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c const struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 241 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) rule 250 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_ports(rule, &match); rule 265 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c const struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 268 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_TCP)) rule 277 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_tcp(rule, &match); rule 296 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c const struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 299 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) rule 308 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_ip(rule, &match); rule 329 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 330 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct flow_dissector *dissector = rule->match.dissector; rule 359 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 362 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_control(rule, &match); rule 366 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 369 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_basic(rule, &match); rule 388 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 391 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_eth_addrs(rule, &match); rule 410 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 413 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c flow_rule_match_vlan(rule, &match); rule 454 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c &f->rule->action, rule 464 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct mlxsw_sp_acl_rule *rule; rule 473 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c rule = mlxsw_sp_acl_rule_create(mlxsw_sp, ruleset, f->cookie, NULL, rule 475 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (IS_ERR(rule)) { rule 476 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c err = PTR_ERR(rule); rule 480 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c rulei = mlxsw_sp_acl_rule_rulei(rule); rule 489 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c err = mlxsw_sp_acl_rule_add(mlxsw_sp, rule); rule 499 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c mlxsw_sp_acl_rule_destroy(mlxsw_sp, rule); rule 510 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct mlxsw_sp_acl_rule *rule; rule 518 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c rule = mlxsw_sp_acl_rule_lookup(mlxsw_sp, ruleset, f->cookie); rule 519 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (rule) { rule 520 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c mlxsw_sp_acl_rule_del(mlxsw_sp, rule); rule 521 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c mlxsw_sp_acl_rule_destroy(mlxsw_sp, rule); rule 532 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct mlxsw_sp_acl_rule *rule; rule 544 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c rule = mlxsw_sp_acl_rule_lookup(mlxsw_sp, ruleset, f->cookie); rule 545 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c if (!rule) rule 548 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c err = mlxsw_sp_acl_rule_get_stats(mlxsw_sp, rule, &packets, &bytes, rule 6190 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct fib_rule *rule; rule 6201 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c rule = fr_info->rule; rule 6204 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (rule->iifindex == info->net->loopback_dev->ifindex) rule 6209 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (!fib4_rule_default(rule) && !rule->l3mdev) rule 6213 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (!fib6_rule_default(rule) && !rule->l3mdev) rule 6217 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (!ipmr_rule_default(rule) && !rule->l3mdev) rule 6221 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c if (!ip6mr_rule_default(rule) && !rule->l3mdev) rule 577 drivers/net/ethernet/mscc/ocelot_ace.c static void is2_entry_get(struct ocelot_ace_rule *rule, int ix) rule 579 drivers/net/ethernet/mscc/ocelot_ace.c struct ocelot *op = rule->port->ocelot; rule 591 drivers/net/ethernet/mscc/ocelot_ace.c rule->stats.pkts = cnt; rule 595 drivers/net/ethernet/mscc/ocelot_ace.c struct ocelot_ace_rule *rule) rule 603 drivers/net/ethernet/mscc/ocelot_ace.c list_add(&rule->list, &block->rules); rule 609 drivers/net/ethernet/mscc/ocelot_ace.c if (rule->prio < tmp->prio) rule 612 drivers/net/ethernet/mscc/ocelot_ace.c list_add(&rule->list, pos->prev); rule 616 drivers/net/ethernet/mscc/ocelot_ace.c struct ocelot_ace_rule *rule) rule 623 drivers/net/ethernet/mscc/ocelot_ace.c if (rule->id == tmp->id) rule 644 drivers/net/ethernet/mscc/ocelot_ace.c int ocelot_ace_rule_offload_add(struct ocelot_ace_rule *rule) rule 650 drivers/net/ethernet/mscc/ocelot_ace.c ocelot_ace_rule_add(acl_block, rule); rule 653 drivers/net/ethernet/mscc/ocelot_ace.c index = ocelot_ace_rule_get_index_id(acl_block, rule); rule 658 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_set(rule->port->ocelot, i, ace); rule 662 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_set(rule->port->ocelot, index, rule); rule 667 drivers/net/ethernet/mscc/ocelot_ace.c struct ocelot_ace_rule *rule) rule 674 drivers/net/ethernet/mscc/ocelot_ace.c if (tmp->id == rule->id) { rule 683 drivers/net/ethernet/mscc/ocelot_ace.c int ocelot_ace_rule_offload_del(struct ocelot_ace_rule *rule) rule 692 drivers/net/ethernet/mscc/ocelot_ace.c index = ocelot_ace_rule_get_index_id(acl_block, rule); rule 695 drivers/net/ethernet/mscc/ocelot_ace.c ocelot_ace_rule_del(acl_block, rule); rule 700 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_set(rule->port->ocelot, i, ace); rule 704 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_set(rule->port->ocelot, acl_block->count, &del_ace); rule 709 drivers/net/ethernet/mscc/ocelot_ace.c int ocelot_ace_rule_stats_update(struct ocelot_ace_rule *rule) rule 714 drivers/net/ethernet/mscc/ocelot_ace.c index = ocelot_ace_rule_get_index_id(acl_block, rule); rule 715 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_get(rule, index); rule 720 drivers/net/ethernet/mscc/ocelot_ace.c is2_entry_set(rule->port->ocelot, index, tmp); rule 220 drivers/net/ethernet/mscc/ocelot_ace.h int ocelot_ace_rule_offload_add(struct ocelot_ace_rule *rule); rule 221 drivers/net/ethernet/mscc/ocelot_ace.h int ocelot_ace_rule_offload_del(struct ocelot_ace_rule *rule); rule 222 drivers/net/ethernet/mscc/ocelot_ace.h int ocelot_ace_rule_stats_update(struct ocelot_ace_rule *rule); rule 17 drivers/net/ethernet/mscc/ocelot_flower.c struct ocelot_ace_rule *rule) rule 22 drivers/net/ethernet/mscc/ocelot_flower.c if (f->rule->action.num_entries != 1) rule 25 drivers/net/ethernet/mscc/ocelot_flower.c flow_action_for_each(i, a, &f->rule->action) { rule 28 drivers/net/ethernet/mscc/ocelot_flower.c rule->action = OCELOT_ACL_ACTION_DROP; rule 31 drivers/net/ethernet/mscc/ocelot_flower.c rule->action = OCELOT_ACL_ACTION_TRAP; rule 44 drivers/net/ethernet/mscc/ocelot_flower.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 45 drivers/net/ethernet/mscc/ocelot_flower.c struct flow_dissector *dissector = rule->match.dissector; rule 58 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 61 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_control(rule, &match); rule 64 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 86 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_eth_addrs(rule, &match); rule 99 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 102 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_basic(rule, &match); rule 119 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS) && rule 124 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_ipv4_addrs(rule, &match); rule 138 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS) && rule 143 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 146 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_ports(rule, &match); rule 153 drivers/net/ethernet/mscc/ocelot_flower.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 156 drivers/net/ethernet/mscc/ocelot_flower.c flow_rule_match_vlan(rule, &match); rule 174 drivers/net/ethernet/mscc/ocelot_flower.c struct ocelot_ace_rule *rule; rule 176 drivers/net/ethernet/mscc/ocelot_flower.c rule = kzalloc(sizeof(*rule), GFP_KERNEL); rule 177 drivers/net/ethernet/mscc/ocelot_flower.c if (!rule) rule 180 drivers/net/ethernet/mscc/ocelot_flower.c rule->port = block->port; rule 181 drivers/net/ethernet/mscc/ocelot_flower.c rule->chip_port = block->port->chip_port; rule 182 drivers/net/ethernet/mscc/ocelot_flower.c return rule; rule 188 drivers/net/ethernet/mscc/ocelot_flower.c struct ocelot_ace_rule *rule; rule 191 drivers/net/ethernet/mscc/ocelot_flower.c rule = ocelot_ace_rule_create(f, port_block); rule 192 drivers/net/ethernet/mscc/ocelot_flower.c if (!rule) rule 195 drivers/net/ethernet/mscc/ocelot_flower.c ret = ocelot_flower_parse(f, rule); rule 197 drivers/net/ethernet/mscc/ocelot_flower.c kfree(rule); rule 201 drivers/net/ethernet/mscc/ocelot_flower.c ret = ocelot_ace_rule_offload_add(rule); rule 212 drivers/net/ethernet/mscc/ocelot_flower.c struct ocelot_ace_rule rule; rule 215 drivers/net/ethernet/mscc/ocelot_flower.c rule.prio = f->common.prio; rule 216 drivers/net/ethernet/mscc/ocelot_flower.c rule.port = port_block->port; rule 217 drivers/net/ethernet/mscc/ocelot_flower.c rule.id = f->cookie; rule 219 drivers/net/ethernet/mscc/ocelot_flower.c ret = ocelot_ace_rule_offload_del(&rule); rule 230 drivers/net/ethernet/mscc/ocelot_flower.c struct ocelot_ace_rule rule; rule 233 drivers/net/ethernet/mscc/ocelot_flower.c rule.prio = f->common.prio; rule 234 drivers/net/ethernet/mscc/ocelot_flower.c rule.port = port_block->port; rule 235 drivers/net/ethernet/mscc/ocelot_flower.c rule.id = f->cookie; rule 236 drivers/net/ethernet/mscc/ocelot_flower.c ret = ocelot_ace_rule_stats_update(&rule); rule 240 drivers/net/ethernet/mscc/ocelot_flower.c flow_stats_update(&f->stats, 0x0, rule.stats.pkts, 0x0); rule 31 drivers/net/ethernet/mscc/ocelot_tc.c if (!flow_offload_has_one_action(&f->rule->action)) { rule 43 drivers/net/ethernet/mscc/ocelot_tc.c action = &f->rule->action.entries[0]; rule 266 drivers/net/ethernet/netronome/nfp/flower/action.c struct flow_action_entry *act = flow->rule->action.entries; rule 267 drivers/net/ethernet/netronome/nfp/flower/action.c int num_act = flow->rule->action.num_entries; rule 766 drivers/net/ethernet/netronome/nfp/flower/action.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 770 drivers/net/ethernet/netronome/nfp/flower/action.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 773 drivers/net/ethernet/netronome/nfp/flower/action.c flow_rule_match_basic(rule, &match); rule 1189 drivers/net/ethernet/netronome/nfp/flower/action.c flow_action_for_each(i, act, &flow->rule->action) { rule 1190 drivers/net/ethernet/netronome/nfp/flower/action.c if (nfp_fl_check_mangle_start(&flow->rule->action, i)) rule 1199 drivers/net/ethernet/netronome/nfp/flower/action.c if (nfp_fl_check_mangle_end(&flow->rule->action, i)) rule 15 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 28 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 31 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_vlan(rule, &match); rule 83 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 88 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { rule 91 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_eth_addrs(rule, &match); rule 99 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS)) { rule 103 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_mpls(rule, &match); rule 114 drivers/net/ethernet/netronome/nfp/flower/match.c } else if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 121 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_basic(rule, &match); rule 135 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 140 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 143 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_ports(rule, &match); rule 156 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 158 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 161 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_basic(rule, &match); rule 166 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) { rule 169 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_ip(rule, &match); rule 176 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_TCP)) { rule 180 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_tcp(rule, &match); rule 210 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 213 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_control(rule, &match); rule 230 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 236 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { rule 237 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_ipv4_addrs(rule, &match); rule 252 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 257 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS)) { rule 260 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_ipv6_addrs(rule, &match); rule 276 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_enc_opts(flow->rule, &match); rule 288 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 290 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS)) { rule 293 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_enc_ipv4_addrs(rule, &match); rule 306 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 308 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IP)) { rule 311 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_enc_ip(rule, &match); rule 324 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 333 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 336 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_enc_keyid(rule, &match); rule 353 drivers/net/ethernet/netronome/nfp/flower/match.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 358 drivers/net/ethernet/netronome/nfp/flower/match.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { rule 362 drivers/net/ethernet/netronome/nfp/flower/match.c flow_rule_match_enc_keyid(rule, &match); rule 131 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 133 drivers/net/ethernet/netronome/nfp/flower/offload.c return flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS) || rule 134 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS) || rule 135 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS) || rule 136 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ICMP); rule 141 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_rule *rule = flow_cls_offload_flow_rule(f); rule 143 drivers/net/ethernet/netronome/nfp/flower/offload.c return flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS) || rule 144 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ICMP); rule 224 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_rule *rule = flow_cls_offload_flow_rule(flow); rule 225 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_dissector *dissector = rule->match.dissector; rule 251 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS) || rule 252 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS)) { rule 257 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { rule 260 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_vlan(rule, &vlan); rule 268 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_CONTROL)) { rule 274 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_enc_control(rule, &enc_ctl); rule 286 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_enc_ipv4_addrs(rule, &ipv4_addrs); rule 292 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_OPTS)) rule 293 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_enc_opts(rule, &enc_op); rule 296 drivers/net/ethernet/netronome/nfp/flower/offload.c if (!flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_PORTS)) { rule 315 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_enc_ports(rule, &enc_ports); rule 340 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) rule 341 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_basic(rule, &basic); rule 403 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_TCP)) { rule 407 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_tcp(rule, &tcp); rule 453 drivers/net/ethernet/netronome/nfp/flower/offload.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { rule 456 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_rule_match_control(rule, &ctl); rule 65 drivers/net/ethernet/netronome/nfp/flower/qos_conf.c struct flow_action_entry *action = &flow->rule->action.entries[0]; rule 91 drivers/net/ethernet/netronome/nfp/flower/qos_conf.c if (!flow_offload_has_one_action(&flow->rule->action)) { rule 4172 drivers/net/ethernet/qlogic/qed/qed_debug.c const struct dbg_idle_chk_rule *rule, rule 4185 drivers/net/ethernet/qlogic/qed/qed_debug.c s_dbg_arrays[BIN_BUF_DBG_IDLE_CHK_REGS].ptr)[rule->reg_offset]; rule 4187 drivers/net/ethernet/qlogic/qed/qed_debug.c info_regs = ®s[rule->num_cond_regs].info_reg; rule 4194 drivers/net/ethernet/qlogic/qed/qed_debug.c hdr->severity = rule->severity; rule 4195 drivers/net/ethernet/qlogic/qed/qed_debug.c hdr->num_dumped_cond_regs = rule->num_cond_regs; rule 4201 drivers/net/ethernet/qlogic/qed/qed_debug.c for (reg_id = 0; reg_id < rule->num_cond_regs; reg_id++) { rule 4231 drivers/net/ethernet/qlogic/qed/qed_debug.c for (reg_id = 0; reg_id < rule->num_info_regs; reg_id++) { rule 4283 drivers/net/ethernet/qlogic/qed/qed_debug.c rule->num_cond_regs + reg_id); rule 4316 drivers/net/ethernet/qlogic/qed/qed_debug.c const struct dbg_idle_chk_rule *rule; rule 4322 drivers/net/ethernet/qlogic/qed/qed_debug.c rule = &input_rules[i]; rule 4325 drivers/net/ethernet/qlogic/qed/qed_debug.c [rule->reg_offset]; rule 4328 drivers/net/ethernet/qlogic/qed/qed_debug.c [rule->imm_offset]; rule 4334 drivers/net/ethernet/qlogic/qed/qed_debug.c for (reg_id = 0; reg_id < rule->num_cond_regs && check_rule; rule 4359 drivers/net/ethernet/qlogic/qed/qed_debug.c rule->rule_id, rule 4360 drivers/net/ethernet/qlogic/qed/qed_debug.c rule, rule 4376 drivers/net/ethernet/qlogic/qed/qed_debug.c for (reg_id = 0; reg_id < rule->num_cond_regs; rule 4422 drivers/net/ethernet/qlogic/qed/qed_debug.c if ((*cond_arr[rule->cond_id]) (cond_reg_values, rule 4428 drivers/net/ethernet/qlogic/qed/qed_debug.c rule->rule_id, rule 4429 drivers/net/ethernet/qlogic/qed/qed_debug.c rule, rule 1781 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_ports(struct qede_dev *edev, struct flow_rule *rule, rule 1784 drivers/net/ethernet/qlogic/qede/qede_filter.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { rule 1787 drivers/net/ethernet/qlogic/qede/qede_filter.c flow_rule_match_ports(rule, &match); rule 1802 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_v6_common(struct qede_dev *edev, struct flow_rule *rule, rule 1810 drivers/net/ethernet/qlogic/qede/qede_filter.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS)) { rule 1813 drivers/net/ethernet/qlogic/qede/qede_filter.c flow_rule_match_ipv6_addrs(rule, &match); rule 1827 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_parse_ports(edev, rule, t)) rule 1834 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_v4_common(struct qede_dev *edev, struct flow_rule *rule, rule 1837 drivers/net/ethernet/qlogic/qede/qede_filter.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { rule 1840 drivers/net/ethernet/qlogic/qede/qede_filter.c flow_rule_match_ipv4_addrs(rule, &match); rule 1851 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_parse_ports(edev, rule, t)) rule 1858 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_tcp_v6(struct qede_dev *edev, struct flow_rule *rule, rule 1864 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v6_common(edev, rule, tuple); rule 1868 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_tcp_v4(struct qede_dev *edev, struct flow_rule *rule, rule 1874 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v4_common(edev, rule, tuple); rule 1878 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_udp_v6(struct qede_dev *edev, struct flow_rule *rule, rule 1884 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v6_common(edev, rule, tuple); rule 1888 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_udp_v4(struct qede_dev *edev, struct flow_rule *rule, rule 1894 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v4_common(edev, rule, tuple); rule 1899 drivers/net/ethernet/qlogic/qede/qede_filter.c struct flow_rule *rule, struct qede_arfs_tuple *tuple) rule 1901 drivers/net/ethernet/qlogic/qede/qede_filter.c struct flow_dissector *dissector = rule->match.dissector; rule 1924 drivers/net/ethernet/qlogic/qede/qede_filter.c if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { rule 1927 drivers/net/ethernet/qlogic/qede/qede_filter.c flow_rule_match_basic(rule, &match); rule 1932 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_tcp_v4(edev, rule, tuple); rule 1934 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_tcp_v6(edev, rule, tuple); rule 1936 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_udp_v4(edev, rule, tuple); rule 1938 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_udp_v6(edev, rule, tuple); rule 1960 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_flow_attr(edev, proto, f->rule, &t)) rule 1973 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_actions(edev, &f->rule->action)) rule 2079 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_flow_attr(edev, proto, flow->rule, t)) { rule 2085 drivers/net/ethernet/qlogic/qede/qede_filter.c err = qede_flow_spec_validate(edev, &flow->rule->action, t, rule 2156 drivers/net/ethernet/rocker/rocker_main.c struct fib_rule *rule; rule 2174 drivers/net/ethernet/rocker/rocker_main.c rule = fib_work->fr_info.rule; rule 2175 drivers/net/ethernet/rocker/rocker_main.c if (!fib4_rule_default(rule)) rule 2177 drivers/net/ethernet/rocker/rocker_main.c fib_rule_put(rule); rule 2233 drivers/net/ethernet/rocker/rocker_main.c fib_rule_get(fib_work->fr_info.rule); rule 4753 drivers/net/ethernet/sfc/ef10.c struct efx_arfs_rule *rule = NULL; rule 4770 drivers/net/ethernet/sfc/ef10.c rule = efx_rps_hash_find(efx, spec); rule 4771 drivers/net/ethernet/sfc/ef10.c if (!rule) rule 4774 drivers/net/ethernet/sfc/ef10.c arfs_id = rule->arfs_id; rule 4775 drivers/net/ethernet/sfc/ef10.c ret = efx_rps_check_rule(rule, filter_idx, &force); rule 4785 drivers/net/ethernet/sfc/ef10.c else if (rule) rule 4786 drivers/net/ethernet/sfc/ef10.c rule->filter_id = EFX_ARFS_FILTER_ID_REMOVING; rule 4802 drivers/net/ethernet/sfc/ef10.c if (ret && rule) { rule 3136 drivers/net/ethernet/sfc/efx.c bool efx_rps_check_rule(struct efx_arfs_rule *rule, unsigned int filter_idx, rule 3139 drivers/net/ethernet/sfc/efx.c if (rule->filter_id == EFX_ARFS_FILTER_ID_PENDING) { rule 3143 drivers/net/ethernet/sfc/efx.c if (rule->filter_id == EFX_ARFS_FILTER_ID_ERROR) { rule 3147 drivers/net/ethernet/sfc/efx.c rule->filter_id = EFX_ARFS_FILTER_ID_REMOVING; rule 3150 drivers/net/ethernet/sfc/efx.c } else if (WARN_ON(rule->filter_id != filter_idx)) { /* can't happen */ rule 3177 drivers/net/ethernet/sfc/efx.c struct efx_arfs_rule *rule; rule 3185 drivers/net/ethernet/sfc/efx.c rule = container_of(node, struct efx_arfs_rule, node); rule 3186 drivers/net/ethernet/sfc/efx.c if (efx_filter_spec_equal(spec, &rule->spec)) rule 3187 drivers/net/ethernet/sfc/efx.c return rule; rule 3196 drivers/net/ethernet/sfc/efx.c struct efx_arfs_rule *rule; rule 3204 drivers/net/ethernet/sfc/efx.c rule = container_of(node, struct efx_arfs_rule, node); rule 3205 drivers/net/ethernet/sfc/efx.c if (efx_filter_spec_equal(spec, &rule->spec)) { rule 3207 drivers/net/ethernet/sfc/efx.c return rule; rule 3210 drivers/net/ethernet/sfc/efx.c rule = kmalloc(sizeof(*rule), GFP_ATOMIC); rule 3212 drivers/net/ethernet/sfc/efx.c if (rule) { rule 3213 drivers/net/ethernet/sfc/efx.c memcpy(&rule->spec, spec, sizeof(rule->spec)); rule 3214 drivers/net/ethernet/sfc/efx.c hlist_add_head(&rule->node, head); rule 3216 drivers/net/ethernet/sfc/efx.c return rule; rule 3221 drivers/net/ethernet/sfc/efx.c struct efx_arfs_rule *rule; rule 3229 drivers/net/ethernet/sfc/efx.c rule = container_of(node, struct efx_arfs_rule, node); rule 3230 drivers/net/ethernet/sfc/efx.c if (efx_filter_spec_equal(spec, &rule->spec)) { rule 3237 drivers/net/ethernet/sfc/efx.c if (rule->filter_id != EFX_ARFS_FILTER_ID_REMOVING) rule 3240 drivers/net/ethernet/sfc/efx.c kfree(rule); rule 191 drivers/net/ethernet/sfc/efx.h bool efx_rps_check_rule(struct efx_arfs_rule *rule, unsigned int filter_idx, rule 808 drivers/net/ethernet/sfc/ethtool.c struct ethtool_rx_flow_spec *rule, rule 811 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip4_spec *ip_entry = &rule->h_u.tcp_ip4_spec; rule 812 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip4_spec *ip_mask = &rule->m_u.tcp_ip4_spec; rule 813 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip4_spec *uip_entry = &rule->h_u.usr_ip4_spec; rule 814 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip4_spec *uip_mask = &rule->m_u.usr_ip4_spec; rule 815 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip6_spec *ip6_entry = &rule->h_u.tcp_ip6_spec; rule 816 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip6_spec *ip6_mask = &rule->m_u.tcp_ip6_spec; rule 817 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip6_spec *uip6_entry = &rule->h_u.usr_ip6_spec; rule 818 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip6_spec *uip6_mask = &rule->m_u.usr_ip6_spec; rule 819 drivers/net/ethernet/sfc/ethtool.c struct ethhdr *mac_entry = &rule->h_u.ether_spec; rule 820 drivers/net/ethernet/sfc/ethtool.c struct ethhdr *mac_mask = &rule->m_u.ether_spec; rule 825 drivers/net/ethernet/sfc/ethtool.c rule->location, &spec); rule 830 drivers/net/ethernet/sfc/ethtool.c rule->ring_cookie = RX_CLS_FLOW_DISC; rule 832 drivers/net/ethernet/sfc/ethtool.c rule->ring_cookie = spec.dmaq_id; rule 843 drivers/net/ethernet/sfc/ethtool.c rule->flow_type = ((spec.ip_proto == IPPROTO_TCP) ? rule 870 drivers/net/ethernet/sfc/ethtool.c rule->flow_type = ((spec.ip_proto == IPPROTO_TCP) ? rule 894 drivers/net/ethernet/sfc/ethtool.c rule->flow_type = ETHER_FLOW; rule 918 drivers/net/ethernet/sfc/ethtool.c rule->flow_type = IPV4_USER_FLOW; rule 938 drivers/net/ethernet/sfc/ethtool.c rule->flow_type = IPV6_USER_FLOW; rule 960 drivers/net/ethernet/sfc/ethtool.c rule->flow_type |= FLOW_EXT; rule 961 drivers/net/ethernet/sfc/ethtool.c rule->h_ext.vlan_tci = spec.outer_vid; rule 962 drivers/net/ethernet/sfc/ethtool.c rule->m_ext.vlan_tci = htons(0xfff); rule 966 drivers/net/ethernet/sfc/ethtool.c rule->flow_type |= FLOW_RSS; rule 1077 drivers/net/ethernet/sfc/ethtool.c struct ethtool_rx_flow_spec *rule, rule 1080 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip4_spec *ip_entry = &rule->h_u.tcp_ip4_spec; rule 1081 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip4_spec *ip_mask = &rule->m_u.tcp_ip4_spec; rule 1082 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip4_spec *uip_entry = &rule->h_u.usr_ip4_spec; rule 1083 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip4_spec *uip_mask = &rule->m_u.usr_ip4_spec; rule 1084 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip6_spec *ip6_entry = &rule->h_u.tcp_ip6_spec; rule 1085 drivers/net/ethernet/sfc/ethtool.c struct ethtool_tcpip6_spec *ip6_mask = &rule->m_u.tcp_ip6_spec; rule 1086 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip6_spec *uip6_entry = &rule->h_u.usr_ip6_spec; rule 1087 drivers/net/ethernet/sfc/ethtool.c struct ethtool_usrip6_spec *uip6_mask = &rule->m_u.usr_ip6_spec; rule 1088 drivers/net/ethernet/sfc/ethtool.c u32 flow_type = rule->flow_type & ~(FLOW_EXT | FLOW_RSS); rule 1089 drivers/net/ethernet/sfc/ethtool.c struct ethhdr *mac_entry = &rule->h_u.ether_spec; rule 1090 drivers/net/ethernet/sfc/ethtool.c struct ethhdr *mac_mask = &rule->m_u.ether_spec; rule 1096 drivers/net/ethernet/sfc/ethtool.c if (rule->location != RX_CLS_LOC_ANY) rule 1100 drivers/net/ethernet/sfc/ethtool.c if (rule->ring_cookie >= efx->n_rx_channels && rule 1101 drivers/net/ethernet/sfc/ethtool.c rule->ring_cookie != RX_CLS_FLOW_DISC) rule 1105 drivers/net/ethernet/sfc/ethtool.c if ((rule->flow_type & FLOW_EXT) && rule 1106 drivers/net/ethernet/sfc/ethtool.c (rule->m_ext.vlan_etype || rule->m_ext.data[0] || rule 1107 drivers/net/ethernet/sfc/ethtool.c rule->m_ext.data[1])) rule 1112 drivers/net/ethernet/sfc/ethtool.c if (rule->flow_type & FLOW_RSS) rule 1116 drivers/net/ethernet/sfc/ethtool.c (rule->ring_cookie == RX_CLS_FLOW_DISC) ? rule 1117 drivers/net/ethernet/sfc/ethtool.c EFX_FILTER_RX_DMAQ_ID_DROP : rule->ring_cookie); rule 1119 drivers/net/ethernet/sfc/ethtool.c if (rule->flow_type & FLOW_RSS) rule 1273 drivers/net/ethernet/sfc/ethtool.c if ((rule->flow_type & FLOW_EXT) && rule->m_ext.vlan_tci) { rule 1274 drivers/net/ethernet/sfc/ethtool.c if (rule->m_ext.vlan_tci != htons(0xfff)) rule 1277 drivers/net/ethernet/sfc/ethtool.c spec.outer_vid = rule->h_ext.vlan_tci; rule 1284 drivers/net/ethernet/sfc/ethtool.c rule->location = rc; rule 786 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_rx_flow_spec *rule) rule 788 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip4_spec *ip_entry = &rule->h_u.tcp_ip4_spec; rule 789 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip4_spec *ip_mask = &rule->m_u.tcp_ip4_spec; rule 790 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip4_spec *uip_entry = &rule->h_u.usr_ip4_spec; rule 791 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip4_spec *uip_mask = &rule->m_u.usr_ip4_spec; rule 792 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip6_spec *ip6_entry = &rule->h_u.tcp_ip6_spec; rule 793 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip6_spec *ip6_mask = &rule->m_u.tcp_ip6_spec; rule 794 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip6_spec *uip6_entry = &rule->h_u.usr_ip6_spec; rule 795 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip6_spec *uip6_mask = &rule->m_u.usr_ip6_spec; rule 796 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethhdr *mac_entry = &rule->h_u.ether_spec; rule 797 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethhdr *mac_mask = &rule->m_u.ether_spec; rule 802 drivers/net/ethernet/sfc/falcon/ethtool.c rule->location, &spec); rule 807 drivers/net/ethernet/sfc/falcon/ethtool.c rule->ring_cookie = RX_CLS_FLOW_DISC; rule 809 drivers/net/ethernet/sfc/falcon/ethtool.c rule->ring_cookie = spec.dmaq_id; rule 820 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type = ((spec.ip_proto == IPPROTO_TCP) ? rule 847 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type = ((spec.ip_proto == IPPROTO_TCP) ? rule 871 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type = ETHER_FLOW; rule 895 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type = IPV4_USER_FLOW; rule 915 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type = IPV6_USER_FLOW; rule 937 drivers/net/ethernet/sfc/falcon/ethtool.c rule->flow_type |= FLOW_EXT; rule 938 drivers/net/ethernet/sfc/falcon/ethtool.c rule->h_ext.vlan_tci = spec.outer_vid; rule 939 drivers/net/ethernet/sfc/falcon/ethtool.c rule->m_ext.vlan_tci = htons(0xfff); rule 1022 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_rx_flow_spec *rule) rule 1024 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip4_spec *ip_entry = &rule->h_u.tcp_ip4_spec; rule 1025 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip4_spec *ip_mask = &rule->m_u.tcp_ip4_spec; rule 1026 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip4_spec *uip_entry = &rule->h_u.usr_ip4_spec; rule 1027 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip4_spec *uip_mask = &rule->m_u.usr_ip4_spec; rule 1028 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip6_spec *ip6_entry = &rule->h_u.tcp_ip6_spec; rule 1029 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_tcpip6_spec *ip6_mask = &rule->m_u.tcp_ip6_spec; rule 1030 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip6_spec *uip6_entry = &rule->h_u.usr_ip6_spec; rule 1031 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethtool_usrip6_spec *uip6_mask = &rule->m_u.usr_ip6_spec; rule 1032 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethhdr *mac_entry = &rule->h_u.ether_spec; rule 1033 drivers/net/ethernet/sfc/falcon/ethtool.c struct ethhdr *mac_mask = &rule->m_u.ether_spec; rule 1038 drivers/net/ethernet/sfc/falcon/ethtool.c if (rule->location != RX_CLS_LOC_ANY) rule 1042 drivers/net/ethernet/sfc/falcon/ethtool.c if (rule->ring_cookie >= efx->n_rx_channels && rule 1043 drivers/net/ethernet/sfc/falcon/ethtool.c rule->ring_cookie != RX_CLS_FLOW_DISC) rule 1047 drivers/net/ethernet/sfc/falcon/ethtool.c if ((rule->flow_type & FLOW_EXT) && rule 1048 drivers/net/ethernet/sfc/falcon/ethtool.c (rule->m_ext.vlan_etype || rule->m_ext.data[0] || rule 1049 drivers/net/ethernet/sfc/falcon/ethtool.c rule->m_ext.data[1])) rule 1054 drivers/net/ethernet/sfc/falcon/ethtool.c (rule->ring_cookie == RX_CLS_FLOW_DISC) ? rule 1055 drivers/net/ethernet/sfc/falcon/ethtool.c EF4_FILTER_RX_DMAQ_ID_DROP : rule->ring_cookie); rule 1057 drivers/net/ethernet/sfc/falcon/ethtool.c switch (rule->flow_type & ~FLOW_EXT) { rule 1063 drivers/net/ethernet/sfc/falcon/ethtool.c spec.ip_proto = ((rule->flow_type & ~FLOW_EXT) == TCP_V4_FLOW ? rule 1098 drivers/net/ethernet/sfc/falcon/ethtool.c spec.ip_proto = ((rule->flow_type & ~FLOW_EXT) == TCP_V6_FLOW ? rule 1208 drivers/net/ethernet/sfc/falcon/ethtool.c if ((rule->flow_type & FLOW_EXT) && rule->m_ext.vlan_tci) { rule 1209 drivers/net/ethernet/sfc/falcon/ethtool.c if (rule->m_ext.vlan_tci != htons(0xfff)) rule 1212 drivers/net/ethernet/sfc/falcon/ethtool.c spec.outer_vid = rule->h_ext.vlan_tci; rule 1219 drivers/net/ethernet/sfc/falcon/ethtool.c rule->location = rc; rule 2915 drivers/net/ethernet/sfc/farch.c struct efx_arfs_rule *rule = NULL; rule 2925 drivers/net/ethernet/sfc/farch.c rule = efx_rps_hash_find(efx, &spec); rule 2926 drivers/net/ethernet/sfc/farch.c if (!rule) { rule 2930 drivers/net/ethernet/sfc/farch.c arfs_id = rule->arfs_id; rule 2931 drivers/net/ethernet/sfc/farch.c if (!efx_rps_check_rule(rule, index, &force)) rule 2937 drivers/net/ethernet/sfc/farch.c if (rule) rule 2938 drivers/net/ethernet/sfc/farch.c rule->filter_id = EFX_ARFS_FILTER_ID_REMOVING; rule 835 drivers/net/ethernet/sfc/rx.c struct efx_arfs_rule *rule; rule 844 drivers/net/ethernet/sfc/rx.c rule = efx_rps_hash_find(efx, &req->spec); rule 851 drivers/net/ethernet/sfc/rx.c if (rule) { rule 853 drivers/net/ethernet/sfc/rx.c rule->filter_id = EFX_ARFS_FILTER_ID_ERROR; rule 855 drivers/net/ethernet/sfc/rx.c rule->filter_id = rc; rule 856 drivers/net/ethernet/sfc/rx.c arfs_id = rule->arfs_id; rule 895 drivers/net/ethernet/sfc/rx.c struct efx_arfs_rule *rule; rule 954 drivers/net/ethernet/sfc/rx.c rule = efx_rps_hash_add(efx, &req->spec, &new); rule 955 drivers/net/ethernet/sfc/rx.c if (!rule) { rule 960 drivers/net/ethernet/sfc/rx.c rule->arfs_id = efx->rps_next_id++ % RPS_NO_FILTER; rule 961 drivers/net/ethernet/sfc/rx.c rc = rule->arfs_id; rule 963 drivers/net/ethernet/sfc/rx.c if (!new && rule->rxq_index == rxq_index && rule 964 drivers/net/ethernet/sfc/rx.c rule->filter_id >= EFX_ARFS_FILTER_ID_PENDING) rule 966 drivers/net/ethernet/sfc/rx.c rule->rxq_index = rxq_index; rule 967 drivers/net/ethernet/sfc/rx.c rule->filter_id = EFX_ARFS_FILTER_ID_PENDING; rule 1301 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c struct flow_rule *rule; rule 1333 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule = kzalloc(struct_size(rule, action.entries, 1), GFP_KERNEL); rule 1334 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c if (!rule) { rule 1339 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.dissector = dissector; rule 1340 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.key = (void *)&key; rule 1341 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.mask = (void *)&mask; rule 1348 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c cls->rule = rule; rule 1350 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->action.entries[0].id = FLOW_ACTION_DROP; rule 1351 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->action.num_entries = 1; rule 1373 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c kfree(rule); rule 1426 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c struct flow_rule *rule; rule 1460 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule = kzalloc(struct_size(rule, action.entries, 1), GFP_KERNEL); rule 1461 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c if (!rule) { rule 1466 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.dissector = dissector; rule 1467 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.key = (void *)&keys; rule 1468 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->match.mask = (void *)&masks; rule 1476 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c cls->rule = rule; rule 1478 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->action.entries[0].id = FLOW_ACTION_DROP; rule 1479 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c rule->action.num_entries = 1; rule 1503 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c kfree(rule); rule 398 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 399 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; rule 406 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c flow_rule_match_basic(rule, &match); rule 415 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 416 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; rule 426 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c flow_rule_match_ipv4_addrs(rule, &match); rule 450 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 451 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; rule 473 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c flow_rule_match_ports(rule, &match); rule 526 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_rule *rule = flow_cls_offload_flow_rule(cls); rule 535 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c ret = tc_parse_flow_actions(priv, &rule->action, entry); rule 665 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c const struct ieee80211_reg_rule *rule; rule 681 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c rule = freq_reg_info(wiphy, rule 683 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c if (IS_ERR(rule)) rule 686 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c if (!(rule->flags & NL80211_RRF_NO_IR)) rule 1126 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c struct ieee80211_reg_rule *rule; rule 1187 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule = ®d->reg_rules[valid_rules - 1]; rule 1190 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->freq_range.start_freq_khz = rule 1193 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->freq_range.end_freq_khz = MHZ_TO_KHZ(center_freq + 10); rule 1196 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->power_rule.max_antenna_gain = DBI_TO_MBI(6); rule 1197 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->power_rule.max_eirp = rule 1200 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->flags = reg_rule_flags; rule 1203 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->flags |= NL80211_RRF_AUTO_BW; rule 1204 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c rule->freq_range.max_bandwidth_khz = 0; rule 1216 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c reg_query_regdb_wmm(regd->alpha2, center_freq, rule); rule 843 drivers/net/wireless/marvell/libertas/host.h struct host_wol_rule rule[MAX_WOL_RULES]; rule 3709 drivers/net/wireless/marvell/mwifiex/cfg80211.c &coalesce_cfg.rule[i]); rule 2259 drivers/net/wireless/marvell/mwifiex/fw.h struct coalesce_receive_filt_rule rule[0]; rule 472 drivers/net/wireless/marvell/mwifiex/ioctl.h struct mwifiex_coalesce_rule rule[MWIFIEX_COALESCE_MAX_RULES]; rule 1641 drivers/net/wireless/marvell/mwifiex/sta_cmd.c struct coalesce_receive_filt_rule *rule; rule 1648 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule = coalesce_cfg->rule; rule 1651 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule->header.type = cpu_to_le16(TLV_TYPE_COALESCE_RULE); rule 1652 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule->max_coalescing_delay = rule 1653 drivers/net/wireless/marvell/mwifiex/sta_cmd.c cpu_to_le16(cfg->rule[cnt].max_coalescing_delay); rule 1654 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule->pkt_type = cfg->rule[cnt].pkt_type; rule 1655 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule->num_of_fields = cfg->rule[cnt].num_of_fields; rule 1659 drivers/net/wireless/marvell/mwifiex/sta_cmd.c param = rule->params; rule 1660 drivers/net/wireless/marvell/mwifiex/sta_cmd.c for (idx = 0; idx < cfg->rule[cnt].num_of_fields; idx++) { rule 1661 drivers/net/wireless/marvell/mwifiex/sta_cmd.c param->operation = cfg->rule[cnt].params[idx].operation; rule 1663 drivers/net/wireless/marvell/mwifiex/sta_cmd.c cfg->rule[cnt].params[idx].operand_len; rule 1665 drivers/net/wireless/marvell/mwifiex/sta_cmd.c cpu_to_le16(cfg->rule[cnt].params[idx].offset); rule 1667 drivers/net/wireless/marvell/mwifiex/sta_cmd.c cfg->rule[cnt].params[idx].operand_byte_stream, rule 1679 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule->header.len = cpu_to_le16(length + sizeof(u16) + rule 1684 drivers/net/wireless/marvell/mwifiex/sta_cmd.c le16_to_cpu(rule->header.len) + rule 1687 drivers/net/wireless/marvell/mwifiex/sta_cmd.c rule = (void *)((u8 *)rule->params + length); rule 1025 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c struct ieee80211_reg_rule *rule; rule 1075 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule = ®d->reg_rules[valid_rules - 1]; rule 1077 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->freq_range.end_freq_khz = MHZ_TO_KHZ(freq + 10); rule 1086 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->freq_range.start_freq_khz = MHZ_TO_KHZ(freq - 10); rule 1087 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->power_rule.max_eirp = DBM_TO_MBM(19); rule 1090 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->flags = NL80211_RRF_NO_IR; rule 1093 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->flags = NL80211_RRF_DFS; rule 1095 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c rule->freq_range.max_bandwidth_khz = bw; rule 1009 drivers/net/wireless/quantenna/qtnfmac/commands.c struct ieee80211_reg_rule *rule; rule 1174 drivers/net/wireless/quantenna/qtnfmac/commands.c rule = &mac->rd->reg_rules[rule_idx++]; rule 1175 drivers/net/wireless/quantenna/qtnfmac/commands.c qlink_utils_regrule_q2nl(rule, tlv_rule); rule 290 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c void qlink_utils_regrule_q2nl(struct ieee80211_reg_rule *rule, rule 293 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->freq_range.start_freq_khz = le32_to_cpu(tlv->start_freq_khz); rule 294 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->freq_range.end_freq_khz = le32_to_cpu(tlv->end_freq_khz); rule 295 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->freq_range.max_bandwidth_khz = rule 297 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->power_rule.max_antenna_gain = le32_to_cpu(tlv->max_antenna_gain); rule 298 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->power_rule.max_eirp = le32_to_cpu(tlv->max_eirp); rule 299 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->dfs_cac_ms = le32_to_cpu(tlv->dfs_cac_ms); rule 300 drivers/net/wireless/quantenna/qtnfmac/qlink_util.c rule->flags = qtnf_reg_rule_flags_parse(le32_to_cpu(tlv->flags)); rule 85 drivers/net/wireless/quantenna/qtnfmac/qlink_util.h void qlink_utils_regrule_q2nl(struct ieee80211_reg_rule *rule, rule 212 drivers/net/wireless/ti/wl12xx/main.c .rule = CONF_BCN_RULE_PASS_ON_APPEARANCE, rule 216 drivers/net/wireless/ti/wl12xx/main.c .rule = CONF_BCN_RULE_PASS_ON_CHANGE, rule 220 drivers/net/wireless/ti/wl12xx/main.c .rule = CONF_BCN_RULE_PASS_ON_CHANGE, rule 353 drivers/net/wireless/ti/wl18xx/main.c .rule = CONF_BCN_RULE_PASS_ON_APPEARANCE, rule 357 drivers/net/wireless/ti/wl18xx/main.c .rule = CONF_BCN_RULE_PASS_ON_CHANGE, rule 361 drivers/net/wireless/ti/wl18xx/main.c .rule = CONF_BCN_RULE_PASS_ON_CHANGE, rule 402 drivers/net/wireless/ti/wlcore/acx.c ie_table->table[idx++] = r->rule; rule 507 drivers/net/wireless/ti/wlcore/conf.h u8 rule; rule 23 drivers/pnp/manager.c unsigned char rule, rule 32 drivers/pnp/manager.c res->flags |= rule & IORESOURCE_BITS; rule 38 drivers/pnp/manager.c static int pnp_assign_port(struct pnp_dev *dev, struct pnp_port *rule, int idx) rule 42 drivers/pnp/manager.c res = pnp_find_resource(dev, rule->flags, IORESOURCE_IO, idx); rule 51 drivers/pnp/manager.c res->flags = rule->flags | IORESOURCE_AUTO; rule 55 drivers/pnp/manager.c if (!rule->size) { rule 61 drivers/pnp/manager.c res->start = rule->min; rule 62 drivers/pnp/manager.c res->end = res->start + rule->size - 1; rule 65 drivers/pnp/manager.c res->start += rule->align; rule 66 drivers/pnp/manager.c res->end = res->start + rule->size - 1; rule 67 drivers/pnp/manager.c if (res->start > rule->max || !rule->align) { rule 70 drivers/pnp/manager.c (unsigned long long) rule->min, rule 71 drivers/pnp/manager.c (unsigned long long) rule->max); rule 81 drivers/pnp/manager.c static int pnp_assign_mem(struct pnp_dev *dev, struct pnp_mem *rule, int idx) rule 85 drivers/pnp/manager.c res = pnp_find_resource(dev, rule->flags, IORESOURCE_MEM, idx); rule 94 drivers/pnp/manager.c res->flags = rule->flags | IORESOURCE_AUTO; rule 99 drivers/pnp/manager.c if (!(rule->flags & IORESOURCE_MEM_WRITEABLE)) rule 101 drivers/pnp/manager.c if (rule->flags & IORESOURCE_MEM_RANGELENGTH) rule 103 drivers/pnp/manager.c if (rule->flags & IORESOURCE_MEM_SHADOWABLE) rule 106 drivers/pnp/manager.c if (!rule->size) { rule 112 drivers/pnp/manager.c res->start = rule->min; rule 113 drivers/pnp/manager.c res->end = res->start + rule->size - 1; rule 116 drivers/pnp/manager.c res->start += rule->align; rule 117 drivers/pnp/manager.c res->end = res->start + rule->size - 1; rule 118 drivers/pnp/manager.c if (res->start > rule->max || !rule->align) { rule 121 drivers/pnp/manager.c (unsigned long long) rule->min, rule 122 drivers/pnp/manager.c (unsigned long long) rule->max); rule 132 drivers/pnp/manager.c static int pnp_assign_irq(struct pnp_dev *dev, struct pnp_irq *rule, int idx) rule 142 drivers/pnp/manager.c res = pnp_find_resource(dev, rule->flags, IORESOURCE_IRQ, idx); rule 150 drivers/pnp/manager.c res->flags = rule->flags | IORESOURCE_AUTO; rule 154 drivers/pnp/manager.c if (bitmap_empty(rule->map.bits, PNP_IRQ_NR)) { rule 161 drivers/pnp/manager.c res->start = find_next_bit(rule->map.bits, PNP_IRQ_NR, 16); rule 167 drivers/pnp/manager.c if (test_bit(xtab[i], rule->map.bits)) { rule 174 drivers/pnp/manager.c if (rule->flags & IORESOURCE_IRQ_OPTIONAL) { rule 191 drivers/pnp/manager.c static int pnp_assign_dma(struct pnp_dev *dev, struct pnp_dma *rule, int idx) rule 201 drivers/pnp/manager.c res = pnp_find_resource(dev, rule->flags, IORESOURCE_DMA, idx); rule 209 drivers/pnp/manager.c res->flags = rule->flags | IORESOURCE_AUTO; rule 213 drivers/pnp/manager.c if (!rule->map) { rule 220 drivers/pnp/manager.c if (rule->map & (1 << xtab[i])) { rule 83 drivers/s390/crypto/zcrypt_cex2c.c char rule[8]; rule 1290 drivers/s390/crypto/zcrypt_msgtype6.c char rule[8]; rule 127 drivers/s390/crypto/zcrypt_msgtype6.h char rule[8]; rule 154 drivers/s390/crypto/zcrypt_msgtype6.h memcpy(msg->rule, "RANDOM ", 8); rule 106 fs/ceph/locks.c req->r_args.filelock_change.rule = lock_type; rule 152 fs/ceph/locks.c if (req->r_args.filelock_change.rule == CEPH_LOCK_FCNTL) rule 154 fs/ceph/locks.c else if (req->r_args.filelock_change.rule == CEPH_LOCK_FLOCK) rule 200 fs/ceph/locks.c intr_req->r_args.filelock_change.rule = lock_type; rule 431 include/linux/ceph/ceph_fs.h __u8 rule; /* currently fcntl or flock */ rule 410 include/linux/ethtool.h struct flow_rule *rule; rule 421 include/linux/ethtool.h void ethtool_rx_flow_rule_destroy(struct ethtool_rx_flow_rule *rule); rule 1451 include/linux/mlx4/device.h struct mlx4_net_trans_rule *rule, u64 *reg_id); rule 23 include/linux/mroute.h bool ipmr_rule_default(const struct fib_rule *rule); rule 52 include/linux/mroute.h static inline bool ipmr_rule_default(const struct fib_rule *rule) rule 68 include/linux/mroute6.h bool ip6mr_rule_default(const struct fib_rule *rule); rule 70 include/linux/mroute6.h static inline bool ip6mr_rule_default(const struct fib_rule *rule) rule 5588 include/net/cfg80211.h struct ieee80211_reg_rule *rule); rule 52 include/net/fib_rules.h struct fib_rule *rule; rule 102 include/net/fib_rules.h struct fib_rule *rule; rule 125 include/net/fib_rules.h static inline void fib_rule_get(struct fib_rule *rule) rule 127 include/net/fib_rules.h refcount_inc(&rule->refcnt); rule 130 include/net/fib_rules.h static inline void fib_rule_put(struct fib_rule *rule) rule 132 include/net/fib_rules.h if (refcount_dec_and_test(&rule->refcnt)) rule 133 include/net/fib_rules.h kfree_rcu(rule, rcu); rule 137 include/net/fib_rules.h static inline u32 fib_rule_get_table(struct fib_rule *rule, rule 140 include/net/fib_rules.h return rule->l3mdev ? arg->table : rule->table; rule 143 include/net/fib_rules.h static inline u32 fib_rule_get_table(struct fib_rule *rule, rule 146 include/net/fib_rules.h return rule->table; rule 182 include/net/fib_rules.h static inline bool fib_rule_requires_fldissect(struct fib_rule *rule) rule 184 include/net/fib_rules.h return rule->iifindex != LOOPBACK_IFINDEX && (rule->ip_proto || rule 185 include/net/fib_rules.h fib_rule_port_range_set(&rule->sport_range) || rule 186 include/net/fib_rules.h fib_rule_port_range_set(&rule->dport_range)); rule 197 include/net/fib_rules.h bool fib_rule_matchall(const struct fib_rule *rule); rule 73 include/net/flow_offload.h void flow_rule_match_meta(const struct flow_rule *rule, rule 75 include/net/flow_offload.h void flow_rule_match_basic(const struct flow_rule *rule, rule 77 include/net/flow_offload.h void flow_rule_match_control(const struct flow_rule *rule, rule 79 include/net/flow_offload.h void flow_rule_match_eth_addrs(const struct flow_rule *rule, rule 81 include/net/flow_offload.h void flow_rule_match_vlan(const struct flow_rule *rule, rule 83 include/net/flow_offload.h void flow_rule_match_cvlan(const struct flow_rule *rule, rule 85 include/net/flow_offload.h void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, rule 87 include/net/flow_offload.h void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, rule 89 include/net/flow_offload.h void flow_rule_match_ip(const struct flow_rule *rule, rule 91 include/net/flow_offload.h void flow_rule_match_ports(const struct flow_rule *rule, rule 93 include/net/flow_offload.h void flow_rule_match_tcp(const struct flow_rule *rule, rule 95 include/net/flow_offload.h void flow_rule_match_icmp(const struct flow_rule *rule, rule 97 include/net/flow_offload.h void flow_rule_match_mpls(const struct flow_rule *rule, rule 99 include/net/flow_offload.h void flow_rule_match_enc_control(const struct flow_rule *rule, rule 101 include/net/flow_offload.h void flow_rule_match_enc_ipv4_addrs(const struct flow_rule *rule, rule 103 include/net/flow_offload.h void flow_rule_match_enc_ipv6_addrs(const struct flow_rule *rule, rule 105 include/net/flow_offload.h void flow_rule_match_enc_ip(const struct flow_rule *rule, rule 107 include/net/flow_offload.h void flow_rule_match_enc_ports(const struct flow_rule *rule, rule 109 include/net/flow_offload.h void flow_rule_match_enc_keyid(const struct flow_rule *rule, rule 111 include/net/flow_offload.h void flow_rule_match_enc_opts(const struct flow_rule *rule, rule 250 include/net/flow_offload.h static inline bool flow_rule_match_key(const struct flow_rule *rule, rule 253 include/net/flow_offload.h return dissector_uses_key(rule->match.dissector, key); rule 364 include/net/flow_offload.h struct flow_rule *rule; rule 372 include/net/flow_offload.h return flow_cmd->rule; rule 510 include/net/ip6_fib.h bool fib6_rule_default(const struct fib_rule *rule); rule 540 include/net/ip6_fib.h static inline bool fib6_rule_default(const struct fib_rule *rule) rule 312 include/net/ip_fib.h static inline bool fib4_rule_default(const struct fib_rule *rule) rule 378 include/net/ip_fib.h bool fib4_rule_default(const struct fib_rule *rule); rule 858 include/net/netfilter/nf_tables.h static inline struct nft_expr *nft_expr_first(const struct nft_rule *rule) rule 860 include/net/netfilter/nf_tables.h return (struct nft_expr *)&rule->data[0]; rule 868 include/net/netfilter/nf_tables.h static inline struct nft_expr *nft_expr_last(const struct nft_rule *rule) rule 870 include/net/netfilter/nf_tables.h return (struct nft_expr *)&rule->data[rule->dlen]; rule 873 include/net/netfilter/nf_tables.h static inline struct nft_userdata *nft_userdata(const struct nft_rule *rule) rule 875 include/net/netfilter/nf_tables.h return (void *)&rule->data[rule->dlen]; rule 883 include/net/netfilter/nf_tables.h #define nft_rule_for_each_expr(expr, last, rule) \ rule 884 include/net/netfilter/nf_tables.h for ((expr) = nft_expr_first(rule), (last) = nft_expr_last(rule); \ rule 1210 include/net/netfilter/nf_tables.h const struct nft_rule *rule; rule 1368 include/net/netfilter/nf_tables.h struct nft_rule *rule; rule 1374 include/net/netfilter/nf_tables.h (((struct nft_trans_rule *)trans->data)->rule) rule 59 include/net/netfilter/nf_tables_offload.h struct flow_rule *rule; rule 65 include/net/netfilter/nf_tables_offload.h struct nft_flow_rule *nft_flow_rule_create(struct net *net, const struct nft_rule *rule); rule 650 include/net/pkt_cls.h struct flow_rule *rule; rule 225 include/sound/pcm.h struct snd_pcm_hw_rule *rule); rule 48 kernel/audit.h struct audit_krule rule; rule 280 kernel/audit.h extern int audit_make_tree(struct audit_krule *rule, char *pathname, u32 op); rule 281 kernel/audit.h extern int audit_add_tree_rule(struct audit_krule *rule); rule 282 kernel/audit.h extern int audit_remove_tree_rule(struct audit_krule *rule); rule 311 kernel/audit.h #define audit_remove_tree_rule(rule) BUG() rule 312 kernel/audit.h #define audit_add_tree_rule(rule) -EINVAL rule 313 kernel/audit.h #define audit_make_tree(rule, str, op) -EINVAL rule 317 kernel/audit.h #define audit_tree_path(rule) "" /* never called */ rule 31 kernel/audit_fsnotify.c struct audit_krule *rule; rule 101 kernel/audit_fsnotify.c audit_mark->rule = krule; rule 117 kernel/audit_fsnotify.c struct audit_krule *rule = audit_mark->rule; rule 127 kernel/audit_fsnotify.c audit_log_key(ab, rule->filterkey); rule 128 kernel/audit_fsnotify.c audit_log_format(ab, " list=%d res=1", rule->listnr); rule 147 kernel/audit_fsnotify.c struct audit_krule *rule = audit_mark->rule; rule 148 kernel/audit_fsnotify.c struct audit_entry *entry = container_of(rule, struct audit_entry, rule); rule 528 kernel/audit_tree.c struct audit_krule *rule) rule 538 kernel/audit_tree.c audit_log_untrustedstring(ab, rule->tree->pathname); rule 539 kernel/audit_tree.c audit_log_key(ab, rule->filterkey); rule 540 kernel/audit_tree.c audit_log_format(ab, " list=%d res=1", rule->listnr); rule 546 kernel/audit_tree.c struct audit_krule *rule, *next; rule 549 kernel/audit_tree.c list_for_each_entry_safe(rule, next, &tree->rules, rlist) { rule 550 kernel/audit_tree.c entry = container_of(rule, struct audit_entry, rule); rule 552 kernel/audit_tree.c list_del_init(&rule->rlist); rule 553 kernel/audit_tree.c if (rule->tree) { rule 555 kernel/audit_tree.c audit_tree_log_remove_rule(context, rule); rule 556 kernel/audit_tree.c if (entry->rule.exe) rule 557 kernel/audit_tree.c audit_remove_mark(entry->rule.exe); rule 558 kernel/audit_tree.c rule->tree = NULL; rule 560 kernel/audit_tree.c list_del(&entry->rule.list); rule 649 kernel/audit_tree.c int audit_remove_tree_rule(struct audit_krule *rule) rule 652 kernel/audit_tree.c tree = rule->tree; rule 655 kernel/audit_tree.c list_del_init(&rule->rlist); rule 661 kernel/audit_tree.c rule->tree = NULL; rule 666 kernel/audit_tree.c rule->tree = NULL; rule 728 kernel/audit_tree.c int audit_make_tree(struct audit_krule *rule, char *pathname, u32 op) rule 732 kernel/audit_tree.c rule->listnr != AUDIT_FILTER_EXIT || rule 734 kernel/audit_tree.c rule->inode_f || rule->watch || rule->tree) rule 736 kernel/audit_tree.c rule->tree = alloc_tree(pathname); rule 737 kernel/audit_tree.c if (!rule->tree) rule 802 kernel/audit_tree.c int audit_add_tree_rule(struct audit_krule *rule) rule 804 kernel/audit_tree.c struct audit_tree *seed = rule->tree, *tree; rule 809 kernel/audit_tree.c rule->tree = NULL; rule 813 kernel/audit_tree.c rule->tree = tree; rule 814 kernel/audit_tree.c list_add(&rule->rlist, &tree->rules); rule 820 kernel/audit_tree.c list_add(&rule->rlist, &tree->rules); rule 856 kernel/audit_tree.c if (list_empty(&rule->rlist)) { rule 860 kernel/audit_tree.c rule->tree = tree; rule 278 kernel/audit_watch.c oentry = container_of(r, struct audit_entry, rule); rule 279 kernel/audit_watch.c list_del(&oentry->rule.rlist); rule 282 kernel/audit_watch.c nentry = audit_dupe_rule(&oentry->rule); rule 284 kernel/audit_watch.c list_del(&oentry->rule.list); rule 294 kernel/audit_watch.c audit_put_watch(nentry->rule.watch); rule 296 kernel/audit_watch.c nentry->rule.watch = nwatch; rule 297 kernel/audit_watch.c list_add(&nentry->rule.rlist, &nwatch->rules); rule 299 kernel/audit_watch.c list_replace(&oentry->rule.list, rule 300 kernel/audit_watch.c &nentry->rule.list); rule 302 kernel/audit_watch.c if (oentry->rule.exe) rule 303 kernel/audit_watch.c audit_remove_mark(oentry->rule.exe); rule 332 kernel/audit_watch.c e = container_of(r, struct audit_entry, rule); rule 334 kernel/audit_watch.c if (e->rule.exe) rule 335 kernel/audit_watch.c audit_remove_mark(e->rule.exe); rule 84 kernel/auditfilter.c struct audit_krule *erule = &e->rule; rule 118 kernel/auditfilter.c entry->rule.fields = fields; rule 210 kernel/auditfilter.c struct audit_field *arch = entry->rule.arch_f; rule 216 kernel/auditfilter.c entry->rule.mask) && rule 218 kernel/auditfilter.c entry->rule.mask)); rule 224 kernel/auditfilter.c entry->rule.mask)); rule 227 kernel/auditfilter.c entry->rule.mask)); rule 235 kernel/auditfilter.c static inline struct audit_entry *audit_to_entry_common(struct audit_rule_data *rule) rule 242 kernel/auditfilter.c listnr = rule->flags & ~AUDIT_FILTER_PREPEND; rule 258 kernel/auditfilter.c if (unlikely(rule->action == AUDIT_POSSIBLE)) { rule 262 kernel/auditfilter.c if (rule->action != AUDIT_NEVER && rule->action != AUDIT_ALWAYS) rule 264 kernel/auditfilter.c if (rule->field_count > AUDIT_MAX_FIELDS) rule 268 kernel/auditfilter.c entry = audit_init_entry(rule->field_count); rule 272 kernel/auditfilter.c entry->rule.flags = rule->flags & AUDIT_FILTER_PREPEND; rule 273 kernel/auditfilter.c entry->rule.listnr = listnr; rule 274 kernel/auditfilter.c entry->rule.action = rule->action; rule 275 kernel/auditfilter.c entry->rule.field_count = rule->field_count; rule 278 kernel/auditfilter.c entry->rule.mask[i] = rule->mask[i]; rule 282 kernel/auditfilter.c __u32 *p = &entry->rule.mask[AUDIT_WORD(bit)]; rule 292 kernel/auditfilter.c entry->rule.mask[j] |= class[j]; rule 327 kernel/auditfilter.c if (entry->rule.listnr != AUDIT_FILTER_EXCLUDE && rule 328 kernel/auditfilter.c entry->rule.listnr != AUDIT_FILTER_USER) rule 332 kernel/auditfilter.c if (entry->rule.listnr != AUDIT_FILTER_FS) rule 337 kernel/auditfilter.c switch (entry->rule.listnr) { rule 458 kernel/auditfilter.c struct audit_field *f = &entry->rule.fields[i]; rule 474 kernel/auditfilter.c entry->rule.pflags |= AUDIT_LOGINUID_LEGACY; rule 504 kernel/auditfilter.c entry->rule.arch_f = f; rule 521 kernel/auditfilter.c entry->rule.buflen += f_val; rule 540 kernel/auditfilter.c err = audit_to_watch(&entry->rule, str, f_val, f->op); rule 545 kernel/auditfilter.c entry->rule.buflen += f_val; rule 553 kernel/auditfilter.c err = audit_make_tree(&entry->rule, str, f->op); rule 557 kernel/auditfilter.c entry->rule.buflen += f_val; rule 561 kernel/auditfilter.c err = audit_to_inode(&entry->rule, f); rule 566 kernel/auditfilter.c if (entry->rule.filterkey || f_val > AUDIT_MAX_KEY_LEN) rule 573 kernel/auditfilter.c entry->rule.buflen += f_val; rule 574 kernel/auditfilter.c entry->rule.filterkey = str; rule 577 kernel/auditfilter.c if (entry->rule.exe || f_val > PATH_MAX) rule 584 kernel/auditfilter.c audit_mark = audit_alloc_mark(&entry->rule, str, f_val); rule 590 kernel/auditfilter.c entry->rule.buflen += f_val; rule 591 kernel/auditfilter.c entry->rule.exe = audit_mark; rule 599 kernel/auditfilter.c if (entry->rule.inode_f && entry->rule.inode_f->op == Audit_not_equal) rule 600 kernel/auditfilter.c entry->rule.inode_f = NULL; rule 606 kernel/auditfilter.c if (entry->rule.tree) rule 607 kernel/auditfilter.c audit_put_tree(entry->rule.tree); /* that's the temporary one */ rule 608 kernel/auditfilter.c if (entry->rule.exe) rule 609 kernel/auditfilter.c audit_remove_mark(entry->rule.exe); /* that's the template one */ rule 823 kernel/auditfilter.c new = &entry->rule; rule 898 kernel/auditfilter.c if (entry->rule.inode_f) { rule 899 kernel/auditfilter.c h = audit_hash_ino(entry->rule.inode_f->val); rule 901 kernel/auditfilter.c } else if (entry->rule.watch) { rule 906 kernel/auditfilter.c if (!audit_compare_rule(&entry->rule, &e->rule)) { rule 913 kernel/auditfilter.c *p = list = &audit_filter_list[entry->rule.listnr]; rule 917 kernel/auditfilter.c if (!audit_compare_rule(&entry->rule, &e->rule)) { rule 933 kernel/auditfilter.c struct audit_watch *watch = entry->rule.watch; rule 934 kernel/auditfilter.c struct audit_tree *tree = entry->rule.tree; rule 941 kernel/auditfilter.c switch(entry->rule.listnr) { rule 962 kernel/auditfilter.c err = audit_add_watch(&entry->rule, &list); rule 975 kernel/auditfilter.c err = audit_add_tree_rule(&entry->rule); rule 982 kernel/auditfilter.c entry->rule.prio = ~0ULL; rule 983 kernel/auditfilter.c if (entry->rule.listnr == AUDIT_FILTER_EXIT) { rule 984 kernel/auditfilter.c if (entry->rule.flags & AUDIT_FILTER_PREPEND) rule 985 kernel/auditfilter.c entry->rule.prio = ++prio_high; rule 987 kernel/auditfilter.c entry->rule.prio = --prio_low; rule 990 kernel/auditfilter.c if (entry->rule.flags & AUDIT_FILTER_PREPEND) { rule 991 kernel/auditfilter.c list_add(&entry->rule.list, rule 992 kernel/auditfilter.c &audit_rules_list[entry->rule.listnr]); rule 994 kernel/auditfilter.c entry->rule.flags &= ~AUDIT_FILTER_PREPEND; rule 996 kernel/auditfilter.c list_add_tail(&entry->rule.list, rule 997 kernel/auditfilter.c &audit_rules_list[entry->rule.listnr]); rule 1016 kernel/auditfilter.c struct audit_tree *tree = entry->rule.tree; rule 1023 kernel/auditfilter.c switch(entry->rule.listnr) { rule 1038 kernel/auditfilter.c if (e->rule.watch) rule 1039 kernel/auditfilter.c audit_remove_watch_rule(&e->rule); rule 1041 kernel/auditfilter.c if (e->rule.tree) rule 1042 kernel/auditfilter.c audit_remove_tree_rule(&e->rule); rule 1044 kernel/auditfilter.c if (e->rule.exe) rule 1045 kernel/auditfilter.c audit_remove_mark_rule(&e->rule); rule 1056 kernel/auditfilter.c list_del(&e->rule.list); rule 1098 kernel/auditfilter.c static void audit_log_rule_change(char *action, struct audit_krule *rule, int res) rule 1111 kernel/auditfilter.c audit_log_key(ab, rule->filterkey); rule 1112 kernel/auditfilter.c audit_log_format(ab, " list=%d res=%d", rule->listnr, res); rule 1134 kernel/auditfilter.c audit_log_rule_change("add_rule", &entry->rule, !err); rule 1141 kernel/auditfilter.c audit_log_rule_change("remove_rule", &entry->rule, !err); rule 1149 kernel/auditfilter.c if (entry->rule.exe) rule 1150 kernel/auditfilter.c audit_remove_mark(entry->rule.exe); rule 1331 kernel/auditfilter.c for (i = 0; i < e->rule.field_count; i++) { rule 1332 kernel/auditfilter.c struct audit_field *f = &e->rule.fields[i]; rule 1370 kernel/auditfilter.c result = audit_exe_compare(current, e->rule.exe); rule 1383 kernel/auditfilter.c if (e->rule.action == AUDIT_NEVER || listtype == AUDIT_FILTER_EXCLUDE) rule 1395 kernel/auditfilter.c struct audit_entry *entry = container_of(r, struct audit_entry, rule); rule 1403 kernel/auditfilter.c if (entry->rule.exe) rule 1404 kernel/auditfilter.c audit_remove_mark(entry->rule.exe); rule 1416 kernel/auditfilter.c list_replace_init(&r->rlist, &nentry->rule.rlist); rule 1418 kernel/auditfilter.c list_replace(&r->list, &nentry->rule.list); rule 439 kernel/auditsc.c struct audit_krule *rule, rule 452 kernel/auditsc.c for (i = 0; i < rule->field_count; i++) { rule 453 kernel/auditsc.c struct audit_field *f = &rule->fields[i]; rule 471 kernel/auditsc.c result = audit_exe_compare(tsk, rule->exe); rule 605 kernel/auditsc.c result = audit_watch_compare(rule->watch, rule 614 kernel/auditsc.c result = match_tree_refs(ctx, rule->tree); rule 717 kernel/auditsc.c if (rule->prio <= ctx->prio) rule 719 kernel/auditsc.c if (rule->filterkey) { rule 721 kernel/auditsc.c ctx->filterkey = kstrdup(rule->filterkey, GFP_ATOMIC); rule 723 kernel/auditsc.c ctx->prio = rule->prio; rule 725 kernel/auditsc.c switch (rule->action) { rule 747 kernel/auditsc.c if (audit_filter_rules(tsk, &e->rule, NULL, NULL, rule 750 kernel/auditsc.c *key = kstrdup(e->rule.filterkey, GFP_ATOMIC); rule 759 kernel/auditsc.c static int audit_in_mask(const struct audit_krule *rule, unsigned long val) rule 772 kernel/auditsc.c return rule->mask[word] & bit; rule 792 kernel/auditsc.c if (audit_in_mask(&e->rule, ctx->major) && rule 793 kernel/auditsc.c audit_filter_rules(tsk, &e->rule, ctx, NULL, rule 817 kernel/auditsc.c if (audit_in_mask(&e->rule, ctx->major) && rule 818 kernel/auditsc.c audit_filter_rules(tsk, &e->rule, ctx, n, &state, false)) { rule 1960 kernel/auditsc.c for (i = 0; i < e->rule.field_count; i++) { rule 1961 kernel/auditsc.c struct audit_field *f = &e->rule.fields[i]; rule 1966 kernel/auditsc.c && e->rule.action == AUDIT_NEVER) { rule 2078 kernel/auditsc.c for (i = 0; i < e->rule.field_count; i++) { rule 2079 kernel/auditsc.c struct audit_field *f = &e->rule.fields[i]; rule 2084 kernel/auditsc.c && e->rule.action == AUDIT_NEVER) { rule 138 net/ceph/crush/crush.c void crush_destroy_rule(struct crush_rule *rule) rule 140 net/ceph/crush/crush.c kfree(rule); rule 910 net/ceph/crush/mapper.c const struct crush_rule *rule; rule 936 net/ceph/crush/mapper.c rule = map->rules[ruleno]; rule 939 net/ceph/crush/mapper.c for (step = 0; step < rule->len; step++) { rule 941 net/ceph/crush/mapper.c const struct crush_rule_step *curstep = &rule->steps[step]; rule 2880 net/core/ethtool.c flow->rule = flow_rule_alloc(1); rule 2881 net/core/ethtool.c if (!flow->rule) { rule 2887 net/core/ethtool.c flow->rule->match.dissector = &match->dissector; rule 2888 net/core/ethtool.c flow->rule->match.mask = &match->mask; rule 2889 net/core/ethtool.c flow->rule->match.key = &match->key; rule 3089 net/core/ethtool.c act = &flow->rule->action.entries[0]; rule 3113 net/core/ethtool.c kfree(flow->rule); rule 23 net/core/fib_rules.c bool fib_rule_matchall(const struct fib_rule *rule) rule 25 net/core/fib_rules.c if (rule->iifindex || rule->oifindex || rule->mark || rule->tun_id || rule 26 net/core/fib_rules.c rule->flags) rule 28 net/core/fib_rules.c if (rule->suppress_ifgroup != -1 || rule->suppress_prefixlen != -1) rule 30 net/core/fib_rules.c if (!uid_eq(rule->uid_range.start, fib_kuid_range_unset.start) || rule 31 net/core/fib_rules.c !uid_eq(rule->uid_range.end, fib_kuid_range_unset.end)) rule 33 net/core/fib_rules.c if (fib_rule_port_range_set(&rule->sport_range)) rule 35 net/core/fib_rules.c if (fib_rule_port_range_set(&rule->dport_range)) rule 72 net/core/fib_rules.c struct fib_rule *rule; rule 77 net/core/fib_rules.c rule = list_entry(pos->next, struct fib_rule, list); rule 78 net/core/fib_rules.c if (rule->pref) rule 79 net/core/fib_rules.c return rule->pref - 1; rule 86 net/core/fib_rules.c static void notify_rule_change(int event, struct fib_rule *rule, rule 174 net/core/fib_rules.c struct fib_rule *rule, *tmp; rule 176 net/core/fib_rules.c list_for_each_entry_safe(rule, tmp, &ops->rules_list, list) { rule 177 net/core/fib_rules.c list_del_rcu(&rule->list); rule 179 net/core/fib_rules.c ops->delete(rule); rule 180 net/core/fib_rules.c fib_rule_put(rule); rule 245 net/core/fib_rules.c static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops, rule 251 net/core/fib_rules.c if (rule->iifindex && (rule->iifindex != fl->flowi_iif)) rule 254 net/core/fib_rules.c if (rule->oifindex && (rule->oifindex != fl->flowi_oif)) rule 257 net/core/fib_rules.c if ((rule->mark ^ fl->flowi_mark) & rule->mark_mask) rule 260 net/core/fib_rules.c if (rule->tun_id && (rule->tun_id != fl->flowi_tun_key.tun_id)) rule 263 net/core/fib_rules.c if (rule->l3mdev && !l3mdev_fib_rule_match(rule->fr_net, fl, arg)) rule 266 net/core/fib_rules.c if (uid_lt(fl->flowi_uid, rule->uid_range.start) || rule 267 net/core/fib_rules.c uid_gt(fl->flowi_uid, rule->uid_range.end)) rule 270 net/core/fib_rules.c ret = ops->match(rule, fl, flags); rule 272 net/core/fib_rules.c return (rule->flags & FIB_RULE_INVERT) ? !ret : ret; rule 278 net/core/fib_rules.c struct fib_rule *rule; rule 283 net/core/fib_rules.c list_for_each_entry_rcu(rule, &ops->rules_list, list) { rule 285 net/core/fib_rules.c if (!fib_rule_match(rule, ops, fl, flags, arg)) rule 288 net/core/fib_rules.c if (rule->action == FR_ACT_GOTO) { rule 291 net/core/fib_rules.c target = rcu_dereference(rule->ctarget); rule 295 net/core/fib_rules.c rule = target; rule 298 net/core/fib_rules.c } else if (rule->action == FR_ACT_NOP) rule 301 net/core/fib_rules.c err = ops->action(rule, fl, flags, arg); rule 303 net/core/fib_rules.c if (!err && ops->suppress && ops->suppress(rule, arg)) rule 308 net/core/fib_rules.c likely(refcount_inc_not_zero(&rule->refcnt))) { rule 309 net/core/fib_rules.c arg->rule = rule; rule 326 net/core/fib_rules.c struct fib_rule *rule, int family) rule 330 net/core/fib_rules.c .rule = rule, rule 338 net/core/fib_rules.c struct fib_rule *rule, rule 345 net/core/fib_rules.c .rule = rule, rule 356 net/core/fib_rules.c struct fib_rule *rule; rule 361 net/core/fib_rules.c list_for_each_entry_rcu(rule, &ops->rules_list, list) rule 362 net/core/fib_rules.c call_fib_rule_notifier(nb, net, FIB_EVENT_RULE_ADD, rule, rule 390 net/core/fib_rules.c struct fib_rule *rule, rule 396 net/core/fib_rules.c if (rule->action && r->action != rule->action) rule 399 net/core/fib_rules.c if (rule->table && r->table != rule->table) rule 402 net/core/fib_rules.c if (user_priority && r->pref != rule->pref) rule 405 net/core/fib_rules.c if (rule->iifname[0] && rule 406 net/core/fib_rules.c memcmp(r->iifname, rule->iifname, IFNAMSIZ)) rule 409 net/core/fib_rules.c if (rule->oifname[0] && rule 410 net/core/fib_rules.c memcmp(r->oifname, rule->oifname, IFNAMSIZ)) rule 413 net/core/fib_rules.c if (rule->mark && r->mark != rule->mark) rule 416 net/core/fib_rules.c if (rule->suppress_ifgroup != -1 && rule 417 net/core/fib_rules.c r->suppress_ifgroup != rule->suppress_ifgroup) rule 420 net/core/fib_rules.c if (rule->suppress_prefixlen != -1 && rule 421 net/core/fib_rules.c r->suppress_prefixlen != rule->suppress_prefixlen) rule 424 net/core/fib_rules.c if (rule->mark_mask && r->mark_mask != rule->mark_mask) rule 427 net/core/fib_rules.c if (rule->tun_id && r->tun_id != rule->tun_id) rule 430 net/core/fib_rules.c if (r->fr_net != rule->fr_net) rule 433 net/core/fib_rules.c if (rule->l3mdev && r->l3mdev != rule->l3mdev) rule 436 net/core/fib_rules.c if (uid_range_set(&rule->uid_range) && rule 437 net/core/fib_rules.c (!uid_eq(r->uid_range.start, rule->uid_range.start) || rule 438 net/core/fib_rules.c !uid_eq(r->uid_range.end, rule->uid_range.end))) rule 441 net/core/fib_rules.c if (rule->ip_proto && r->ip_proto != rule->ip_proto) rule 444 net/core/fib_rules.c if (rule->proto && r->proto != rule->proto) rule 447 net/core/fib_rules.c if (fib_rule_port_range_set(&rule->sport_range) && rule 449 net/core/fib_rules.c &rule->sport_range)) rule 452 net/core/fib_rules.c if (fib_rule_port_range_set(&rule->dport_range) && rule 454 net/core/fib_rules.c &rule->dport_range)) rule 490 net/core/fib_rules.c struct fib_rule **rule, rule 646 net/core/fib_rules.c *rule = nlrule; rule 657 net/core/fib_rules.c struct nlattr **tb, struct fib_rule *rule) rule 662 net/core/fib_rules.c if (r->action != rule->action) rule 665 net/core/fib_rules.c if (r->table != rule->table) rule 668 net/core/fib_rules.c if (r->pref != rule->pref) rule 671 net/core/fib_rules.c if (memcmp(r->iifname, rule->iifname, IFNAMSIZ)) rule 674 net/core/fib_rules.c if (memcmp(r->oifname, rule->oifname, IFNAMSIZ)) rule 677 net/core/fib_rules.c if (r->mark != rule->mark) rule 680 net/core/fib_rules.c if (r->suppress_ifgroup != rule->suppress_ifgroup) rule 683 net/core/fib_rules.c if (r->suppress_prefixlen != rule->suppress_prefixlen) rule 686 net/core/fib_rules.c if (r->mark_mask != rule->mark_mask) rule 689 net/core/fib_rules.c if (r->tun_id != rule->tun_id) rule 692 net/core/fib_rules.c if (r->fr_net != rule->fr_net) rule 695 net/core/fib_rules.c if (r->l3mdev != rule->l3mdev) rule 698 net/core/fib_rules.c if (!uid_eq(r->uid_range.start, rule->uid_range.start) || rule 699 net/core/fib_rules.c !uid_eq(r->uid_range.end, rule->uid_range.end)) rule 702 net/core/fib_rules.c if (r->ip_proto != rule->ip_proto) rule 705 net/core/fib_rules.c if (r->proto != rule->proto) rule 709 net/core/fib_rules.c &rule->sport_range)) rule 713 net/core/fib_rules.c &rule->dport_range)) rule 729 net/core/fib_rules.c struct fib_rule *rule = NULL, *r, *last = NULL; rule 753 net/core/fib_rules.c err = fib_nl2rule(skb, nlh, extack, ops, tb, &rule, &user_priority); rule 758 net/core/fib_rules.c rule_exists(ops, frh, tb, rule)) { rule 763 net/core/fib_rules.c err = ops->configure(rule, skb, frh, tb, extack); rule 767 net/core/fib_rules.c err = call_fib_rule_notifiers(net, FIB_EVENT_RULE_ADD, rule, ops, rule 773 net/core/fib_rules.c if (r->pref == rule->target) { rule 774 net/core/fib_rules.c RCU_INIT_POINTER(rule->ctarget, r); rule 779 net/core/fib_rules.c if (rcu_dereference_protected(rule->ctarget, 1) == NULL) rule 783 net/core/fib_rules.c if (r->pref > rule->pref) rule 789 net/core/fib_rules.c list_add_rcu(&rule->list, &last->list); rule 791 net/core/fib_rules.c list_add_rcu(&rule->list, &ops->rules_list); rule 800 net/core/fib_rules.c r->target == rule->pref && rule 802 net/core/fib_rules.c rcu_assign_pointer(r->ctarget, rule); rule 809 net/core/fib_rules.c if (rule->action == FR_ACT_GOTO) rule 815 net/core/fib_rules.c if (rule->tun_id) rule 818 net/core/fib_rules.c notify_rule_change(RTM_NEWRULE, rule, ops, nlh, NETLINK_CB(skb).portid); rule 824 net/core/fib_rules.c kfree(rule); rule 837 net/core/fib_rules.c struct fib_rule *rule = NULL, *r, *nlrule = NULL; rule 865 net/core/fib_rules.c rule = rule_find(ops, frh, tb, nlrule, user_priority); rule 866 net/core/fib_rules.c if (!rule) { rule 871 net/core/fib_rules.c if (rule->flags & FIB_RULE_PERMANENT) { rule 877 net/core/fib_rules.c err = ops->delete(rule); rule 882 net/core/fib_rules.c if (rule->tun_id) rule 885 net/core/fib_rules.c list_del_rcu(&rule->list); rule 887 net/core/fib_rules.c if (rule->action == FR_ACT_GOTO) { rule 889 net/core/fib_rules.c if (rtnl_dereference(rule->ctarget) == NULL) rule 903 net/core/fib_rules.c n = list_next_entry(rule, list); rule 904 net/core/fib_rules.c if (&n->list == &ops->rules_list || n->pref != rule->pref) rule 907 net/core/fib_rules.c if (rtnl_dereference(r->ctarget) != rule) rule 915 net/core/fib_rules.c call_fib_rule_notifiers(net, FIB_EVENT_RULE_DEL, rule, ops, rule 917 net/core/fib_rules.c notify_rule_change(RTM_DELRULE, rule, ops, nlh, rule 919 net/core/fib_rules.c fib_rule_put(rule); rule 933 net/core/fib_rules.c struct fib_rule *rule) rule 952 net/core/fib_rules.c payload += ops->nlmsg_payload(rule); rule 957 net/core/fib_rules.c static int fib_nl_fill_rule(struct sk_buff *skb, struct fib_rule *rule, rule 970 net/core/fib_rules.c frh->table = rule->table < 256 ? rule->table : RT_TABLE_COMPAT; rule 971 net/core/fib_rules.c if (nla_put_u32(skb, FRA_TABLE, rule->table)) rule 973 net/core/fib_rules.c if (nla_put_u32(skb, FRA_SUPPRESS_PREFIXLEN, rule->suppress_prefixlen)) rule 977 net/core/fib_rules.c frh->action = rule->action; rule 978 net/core/fib_rules.c frh->flags = rule->flags; rule 980 net/core/fib_rules.c if (nla_put_u8(skb, FRA_PROTOCOL, rule->proto)) rule 983 net/core/fib_rules.c if (rule->action == FR_ACT_GOTO && rule 984 net/core/fib_rules.c rcu_access_pointer(rule->ctarget) == NULL) rule 987 net/core/fib_rules.c if (rule->iifname[0]) { rule 988 net/core/fib_rules.c if (nla_put_string(skb, FRA_IIFNAME, rule->iifname)) rule 990 net/core/fib_rules.c if (rule->iifindex == -1) rule 994 net/core/fib_rules.c if (rule->oifname[0]) { rule 995 net/core/fib_rules.c if (nla_put_string(skb, FRA_OIFNAME, rule->oifname)) rule 997 net/core/fib_rules.c if (rule->oifindex == -1) rule 1001 net/core/fib_rules.c if ((rule->pref && rule 1002 net/core/fib_rules.c nla_put_u32(skb, FRA_PRIORITY, rule->pref)) || rule 1003 net/core/fib_rules.c (rule->mark && rule 1004 net/core/fib_rules.c nla_put_u32(skb, FRA_FWMARK, rule->mark)) || rule 1005 net/core/fib_rules.c ((rule->mark_mask || rule->mark) && rule 1006 net/core/fib_rules.c nla_put_u32(skb, FRA_FWMASK, rule->mark_mask)) || rule 1007 net/core/fib_rules.c (rule->target && rule 1008 net/core/fib_rules.c nla_put_u32(skb, FRA_GOTO, rule->target)) || rule 1009 net/core/fib_rules.c (rule->tun_id && rule 1010 net/core/fib_rules.c nla_put_be64(skb, FRA_TUN_ID, rule->tun_id, FRA_PAD)) || rule 1011 net/core/fib_rules.c (rule->l3mdev && rule 1012 net/core/fib_rules.c nla_put_u8(skb, FRA_L3MDEV, rule->l3mdev)) || rule 1013 net/core/fib_rules.c (uid_range_set(&rule->uid_range) && rule 1014 net/core/fib_rules.c nla_put_uid_range(skb, &rule->uid_range)) || rule 1015 net/core/fib_rules.c (fib_rule_port_range_set(&rule->sport_range) && rule 1016 net/core/fib_rules.c nla_put_port_range(skb, FRA_SPORT_RANGE, &rule->sport_range)) || rule 1017 net/core/fib_rules.c (fib_rule_port_range_set(&rule->dport_range) && rule 1018 net/core/fib_rules.c nla_put_port_range(skb, FRA_DPORT_RANGE, &rule->dport_range)) || rule 1019 net/core/fib_rules.c (rule->ip_proto && nla_put_u8(skb, FRA_IP_PROTO, rule->ip_proto))) rule 1022 net/core/fib_rules.c if (rule->suppress_ifgroup != -1) { rule 1023 net/core/fib_rules.c if (nla_put_u32(skb, FRA_SUPPRESS_IFGROUP, rule->suppress_ifgroup)) rule 1027 net/core/fib_rules.c if (ops->fill(rule, skb, frh) < 0) rule 1042 net/core/fib_rules.c struct fib_rule *rule; rule 1046 net/core/fib_rules.c list_for_each_entry_rcu(rule, &ops->rules_list, list) { rule 1050 net/core/fib_rules.c err = fib_nl_fill_rule(skb, rule, NETLINK_CB(cb->skb).portid, rule 1135 net/core/fib_rules.c static void notify_rule_change(int event, struct fib_rule *rule, rule 1144 net/core/fib_rules.c skb = nlmsg_new(fib_rule_nlmsg_size(ops, rule), GFP_KERNEL); rule 1148 net/core/fib_rules.c err = fib_nl_fill_rule(skb, rule, pid, nlh->nlmsg_seq, event, 0, ops); rule 1165 net/core/fib_rules.c struct fib_rule *rule; rule 1167 net/core/fib_rules.c list_for_each_entry(rule, rules, list) { rule 1168 net/core/fib_rules.c if (rule->iifindex == -1 && rule 1169 net/core/fib_rules.c strcmp(dev->name, rule->iifname) == 0) rule 1170 net/core/fib_rules.c rule->iifindex = dev->ifindex; rule 1171 net/core/fib_rules.c if (rule->oifindex == -1 && rule 1172 net/core/fib_rules.c strcmp(dev->name, rule->oifname) == 0) rule 1173 net/core/fib_rules.c rule->oifindex = dev->ifindex; rule 1179 net/core/fib_rules.c struct fib_rule *rule; rule 1181 net/core/fib_rules.c list_for_each_entry(rule, rules, list) { rule 1182 net/core/fib_rules.c if (rule->iifindex == dev->ifindex) rule 1183 net/core/fib_rules.c rule->iifindex = -1; rule 1184 net/core/fib_rules.c if (rule->oifindex == dev->ifindex) rule 1185 net/core/fib_rules.c rule->oifindex = -1; rule 10 net/core/flow_offload.c struct flow_rule *rule; rule 12 net/core/flow_offload.c rule = kzalloc(struct_size(rule, action.entries, num_actions), rule 14 net/core/flow_offload.c if (!rule) rule 17 net/core/flow_offload.c rule->action.num_entries = num_actions; rule 19 net/core/flow_offload.c return rule; rule 30 net/core/flow_offload.c void flow_rule_match_meta(const struct flow_rule *rule, rule 33 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_META, out); rule 37 net/core/flow_offload.c void flow_rule_match_basic(const struct flow_rule *rule, rule 40 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_BASIC, out); rule 44 net/core/flow_offload.c void flow_rule_match_control(const struct flow_rule *rule, rule 47 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_CONTROL, out); rule 51 net/core/flow_offload.c void flow_rule_match_eth_addrs(const struct flow_rule *rule, rule 54 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS, out); rule 58 net/core/flow_offload.c void flow_rule_match_vlan(const struct flow_rule *rule, rule 61 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_VLAN, out); rule 65 net/core/flow_offload.c void flow_rule_match_cvlan(const struct flow_rule *rule, rule 68 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_CVLAN, out); rule 72 net/core/flow_offload.c void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, rule 75 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS, out); rule 79 net/core/flow_offload.c void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, rule 82 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS, out); rule 86 net/core/flow_offload.c void flow_rule_match_ip(const struct flow_rule *rule, rule 89 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_IP, out); rule 93 net/core/flow_offload.c void flow_rule_match_ports(const struct flow_rule *rule, rule 96 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_PORTS, out); rule 100 net/core/flow_offload.c void flow_rule_match_tcp(const struct flow_rule *rule, rule 103 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_TCP, out); rule 107 net/core/flow_offload.c void flow_rule_match_icmp(const struct flow_rule *rule, rule 110 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ICMP, out); rule 114 net/core/flow_offload.c void flow_rule_match_mpls(const struct flow_rule *rule, rule 117 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_MPLS, out); rule 121 net/core/flow_offload.c void flow_rule_match_enc_control(const struct flow_rule *rule, rule 124 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_CONTROL, out); rule 128 net/core/flow_offload.c void flow_rule_match_enc_ipv4_addrs(const struct flow_rule *rule, rule 131 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS, out); rule 135 net/core/flow_offload.c void flow_rule_match_enc_ipv6_addrs(const struct flow_rule *rule, rule 138 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS, out); rule 142 net/core/flow_offload.c void flow_rule_match_enc_ip(const struct flow_rule *rule, rule 145 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_IP, out); rule 149 net/core/flow_offload.c void flow_rule_match_enc_ports(const struct flow_rule *rule, rule 152 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_PORTS, out); rule 156 net/core/flow_offload.c void flow_rule_match_enc_keyid(const struct flow_rule *rule, rule 159 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_KEYID, out); rule 163 net/core/flow_offload.c void flow_rule_match_enc_opts(const struct flow_rule *rule, rule 166 net/core/flow_offload.c FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_ENC_OPTS, out); rule 63 net/decnet/dn_rules.c res->r = arg.rule; rule 68 net/decnet/dn_rules.c static int dn_fib_rule_action(struct fib_rule *rule, struct flowi *flp, rule 75 net/decnet/dn_rules.c switch(rule->action) { rule 93 net/decnet/dn_rules.c tbl = dn_fib_get_table(rule->table, 0); rule 108 net/decnet/dn_rules.c static int dn_fib_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) rule 110 net/decnet/dn_rules.c struct dn_fib_rule *r = (struct dn_fib_rule *)rule; rule 122 net/decnet/dn_rules.c static int dn_fib_rule_configure(struct fib_rule *rule, struct sk_buff *skb, rule 128 net/decnet/dn_rules.c struct dn_fib_rule *r = (struct dn_fib_rule *)rule; rule 135 net/decnet/dn_rules.c if (rule->table == RT_TABLE_UNSPEC) { rule 136 net/decnet/dn_rules.c if (rule->action == FR_ACT_TO_TBL) { rule 145 net/decnet/dn_rules.c rule->table = table->n; rule 164 net/decnet/dn_rules.c static int dn_fib_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, rule 167 net/decnet/dn_rules.c struct dn_fib_rule *r = (struct dn_fib_rule *)rule; rule 202 net/decnet/dn_rules.c static int dn_fib_rule_fill(struct fib_rule *rule, struct sk_buff *skb, rule 205 net/decnet/dn_rules.c struct dn_fib_rule *r = (struct dn_fib_rule *)rule; rule 877 net/dsa/slave.c if (!flow_offload_has_one_action(&cls->rule->action)) rule 880 net/dsa/slave.c act = &cls->rule->action.entries[0]; rule 47 net/ipv4/fib_rules.c static bool fib4_rule_matchall(const struct fib_rule *rule) rule 49 net/ipv4/fib_rules.c struct fib4_rule *r = container_of(rule, struct fib4_rule, common); rule 53 net/ipv4/fib_rules.c return fib_rule_matchall(rule); rule 56 net/ipv4/fib_rules.c bool fib4_rule_default(const struct fib_rule *rule) rule 58 net/ipv4/fib_rules.c if (!fib4_rule_matchall(rule) || rule->action != FR_ACT_TO_TBL || rule 59 net/ipv4/fib_rules.c rule->l3mdev) rule 61 net/ipv4/fib_rules.c if (rule->table != RT_TABLE_LOCAL && rule->table != RT_TABLE_MAIN && rule 62 net/ipv4/fib_rules.c rule->table != RT_TABLE_DEFAULT) rule 92 net/ipv4/fib_rules.c if (arg.rule) rule 93 net/ipv4/fib_rules.c res->tclassid = ((struct fib4_rule *)arg.rule)->tclassid; rule 105 net/ipv4/fib_rules.c static int fib4_rule_action(struct fib_rule *rule, struct flowi *flp, rule 112 net/ipv4/fib_rules.c switch (rule->action) { rule 129 net/ipv4/fib_rules.c tb_id = fib_rule_get_table(rule, arg); rule 130 net/ipv4/fib_rules.c tbl = fib_get_table(rule->fr_net, tb_id); rule 140 net/ipv4/fib_rules.c static bool fib4_rule_suppress(struct fib_rule *rule, struct fib_lookup_arg *arg) rule 154 net/ipv4/fib_rules.c if (result->prefixlen <= rule->suppress_prefixlen) rule 160 net/ipv4/fib_rules.c if (rule->suppress_ifgroup != -1 && dev && dev->group == rule->suppress_ifgroup) rule 171 net/ipv4/fib_rules.c static int fib4_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) rule 173 net/ipv4/fib_rules.c struct fib4_rule *r = (struct fib4_rule *) rule; rule 185 net/ipv4/fib_rules.c if (rule->ip_proto && (rule->ip_proto != fl4->flowi4_proto)) rule 188 net/ipv4/fib_rules.c if (fib_rule_port_range_set(&rule->sport_range) && rule 189 net/ipv4/fib_rules.c !fib_rule_port_inrange(&rule->sport_range, fl4->fl4_sport)) rule 192 net/ipv4/fib_rules.c if (fib_rule_port_range_set(&rule->dport_range) && rule 193 net/ipv4/fib_rules.c !fib_rule_port_inrange(&rule->dport_range, fl4->fl4_dport)) rule 218 net/ipv4/fib_rules.c static int fib4_rule_configure(struct fib_rule *rule, struct sk_buff *skb, rule 225 net/ipv4/fib_rules.c struct fib4_rule *rule4 = (struct fib4_rule *) rule; rule 237 net/ipv4/fib_rules.c if (rule->table == RT_TABLE_UNSPEC && !rule->l3mdev) { rule 238 net/ipv4/fib_rules.c if (rule->action == FR_ACT_TO_TBL) { rule 247 net/ipv4/fib_rules.c rule->table = table->tb_id; rule 265 net/ipv4/fib_rules.c if (fib_rule_requires_fldissect(rule)) rule 281 net/ipv4/fib_rules.c static int fib4_rule_delete(struct fib_rule *rule) rule 283 net/ipv4/fib_rules.c struct net *net = rule->fr_net; rule 292 net/ipv4/fib_rules.c if (((struct fib4_rule *)rule)->tclassid) rule 298 net/ipv4/fib_rules.c fib_rule_requires_fldissect(rule)) rule 304 net/ipv4/fib_rules.c static int fib4_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, rule 307 net/ipv4/fib_rules.c struct fib4_rule *rule4 = (struct fib4_rule *) rule; rule 332 net/ipv4/fib_rules.c static int fib4_rule_fill(struct fib_rule *rule, struct sk_buff *skb, rule 335 net/ipv4/fib_rules.c struct fib4_rule *rule4 = (struct fib4_rule *) rule; rule 357 net/ipv4/fib_rules.c static size_t fib4_rule_nlmsg_payload(struct fib_rule *rule) rule 164 net/ipv4/ipmr.c static int ipmr_rule_action(struct fib_rule *rule, struct flowi *flp, rule 170 net/ipv4/ipmr.c switch (rule->action) { rule 182 net/ipv4/ipmr.c arg->table = fib_rule_get_table(rule, arg); rule 184 net/ipv4/ipmr.c mrt = ipmr_get_table(rule->fr_net, arg->table); rule 191 net/ipv4/ipmr.c static int ipmr_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) rule 200 net/ipv4/ipmr.c static int ipmr_rule_configure(struct fib_rule *rule, struct sk_buff *skb, rule 207 net/ipv4/ipmr.c static int ipmr_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, rule 213 net/ipv4/ipmr.c static int ipmr_rule_fill(struct fib_rule *rule, struct sk_buff *skb, rule 291 net/ipv4/ipmr.c bool ipmr_rule_default(const struct fib_rule *rule) rule 293 net/ipv4/ipmr.c return fib_rule_matchall(rule) && rule->table == RT_TABLE_DEFAULT; rule 349 net/ipv4/ipmr.c bool ipmr_rule_default(const struct fib_rule *rule) rule 1459 net/ipv6/addrconf.c int rule; rule 1521 net/ipv6/addrconf.c if (i <= score->rule) { rule 1643 net/ipv6/addrconf.c score->rule = i; rule 1682 net/ipv6/addrconf.c score->rule = -1; rule 1762 net/ipv6/addrconf.c scores[hiscore_idx].rule = -1; rule 30 net/ipv6/fib6_rules.c static bool fib6_rule_matchall(const struct fib_rule *rule) rule 32 net/ipv6/fib6_rules.c struct fib6_rule *r = container_of(rule, struct fib6_rule, common); rule 36 net/ipv6/fib6_rules.c return fib_rule_matchall(rule); rule 39 net/ipv6/fib6_rules.c bool fib6_rule_default(const struct fib_rule *rule) rule 41 net/ipv6/fib6_rules.c if (!fib6_rule_matchall(rule) || rule->action != FR_ACT_TO_TBL || rule 42 net/ipv6/fib6_rules.c rule->l3mdev) rule 44 net/ipv6/fib6_rules.c if (rule->table != RT6_TABLE_LOCAL && rule->table != RT6_TABLE_MAIN) rule 128 net/ipv6/fib6_rules.c static int fib6_rule_saddr(struct net *net, struct fib_rule *rule, int flags, rule 131 net/ipv6/fib6_rules.c struct fib6_rule *r = (struct fib6_rule *)rule; rule 136 net/ipv6/fib6_rules.c if ((rule->flags & FIB_RULE_FIND_SADDR) && rule 153 net/ipv6/fib6_rules.c static int fib6_rule_action_alt(struct fib_rule *rule, struct flowi *flp, rule 158 net/ipv6/fib6_rules.c struct net *net = rule->fr_net; rule 163 net/ipv6/fib6_rules.c switch (rule->action) { rule 175 net/ipv6/fib6_rules.c tb_id = fib_rule_get_table(rule, arg); rule 183 net/ipv6/fib6_rules.c err = fib6_rule_saddr(net, rule, flags, flp6, rule 191 net/ipv6/fib6_rules.c static int __fib6_rule_action(struct fib_rule *rule, struct flowi *flp, rule 198 net/ipv6/fib6_rules.c struct net *net = rule->fr_net; rule 203 net/ipv6/fib6_rules.c switch (rule->action) { rule 221 net/ipv6/fib6_rules.c tb_id = fib_rule_get_table(rule, arg); rule 230 net/ipv6/fib6_rules.c err = fib6_rule_saddr(net, rule, flags, flp6, rule 254 net/ipv6/fib6_rules.c static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp, rule 258 net/ipv6/fib6_rules.c return fib6_rule_action_alt(rule, flp, flags, arg); rule 260 net/ipv6/fib6_rules.c return __fib6_rule_action(rule, flp, flags, arg); rule 263 net/ipv6/fib6_rules.c static bool fib6_rule_suppress(struct fib_rule *rule, struct fib_lookup_arg *arg) rule 278 net/ipv6/fib6_rules.c if (rt->rt6i_dst.plen <= rule->suppress_prefixlen) rule 284 net/ipv6/fib6_rules.c if (rule->suppress_ifgroup != -1 && dev && dev->group == rule->suppress_ifgroup) rule 295 net/ipv6/fib6_rules.c static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) rule 297 net/ipv6/fib6_rules.c struct fib6_rule *r = (struct fib6_rule *) rule; rule 321 net/ipv6/fib6_rules.c if (rule->ip_proto && (rule->ip_proto != fl6->flowi6_proto)) rule 324 net/ipv6/fib6_rules.c if (fib_rule_port_range_set(&rule->sport_range) && rule 325 net/ipv6/fib6_rules.c !fib_rule_port_inrange(&rule->sport_range, fl6->fl6_sport)) rule 328 net/ipv6/fib6_rules.c if (fib_rule_port_range_set(&rule->dport_range) && rule 329 net/ipv6/fib6_rules.c !fib_rule_port_inrange(&rule->dport_range, fl6->fl6_dport)) rule 339 net/ipv6/fib6_rules.c static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, rule 346 net/ipv6/fib6_rules.c struct fib6_rule *rule6 = (struct fib6_rule *) rule; rule 348 net/ipv6/fib6_rules.c if (rule->action == FR_ACT_TO_TBL && !rule->l3mdev) { rule 349 net/ipv6/fib6_rules.c if (rule->table == RT6_TABLE_UNSPEC) { rule 354 net/ipv6/fib6_rules.c if (fib6_new_table(net, rule->table) == NULL) { rule 370 net/ipv6/fib6_rules.c if (fib_rule_requires_fldissect(rule)) rule 379 net/ipv6/fib6_rules.c static int fib6_rule_delete(struct fib_rule *rule) rule 381 net/ipv6/fib6_rules.c struct net *net = rule->fr_net; rule 384 net/ipv6/fib6_rules.c fib_rule_requires_fldissect(rule)) rule 390 net/ipv6/fib6_rules.c static int fib6_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, rule 393 net/ipv6/fib6_rules.c struct fib6_rule *rule6 = (struct fib6_rule *) rule; rule 415 net/ipv6/fib6_rules.c static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb, rule 418 net/ipv6/fib6_rules.c struct fib6_rule *rule6 = (struct fib6_rule *) rule; rule 435 net/ipv6/fib6_rules.c static size_t fib6_rule_nlmsg_payload(struct fib_rule *rule) rule 151 net/ipv6/ip6mr.c static int ip6mr_rule_action(struct fib_rule *rule, struct flowi *flp, rule 157 net/ipv6/ip6mr.c switch (rule->action) { rule 169 net/ipv6/ip6mr.c arg->table = fib_rule_get_table(rule, arg); rule 171 net/ipv6/ip6mr.c mrt = ip6mr_get_table(rule->fr_net, arg->table); rule 178 net/ipv6/ip6mr.c static int ip6mr_rule_match(struct fib_rule *rule, struct flowi *flp, int flags) rule 187 net/ipv6/ip6mr.c static int ip6mr_rule_configure(struct fib_rule *rule, struct sk_buff *skb, rule 194 net/ipv6/ip6mr.c static int ip6mr_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, rule 200 net/ipv6/ip6mr.c static int ip6mr_rule_fill(struct fib_rule *rule, struct sk_buff *skb, rule 278 net/ipv6/ip6mr.c bool ip6mr_rule_default(const struct fib_rule *rule) rule 280 net/ipv6/ip6mr.c return fib_rule_matchall(rule) && rule->action == FR_ACT_TO_TBL && rule 281 net/ipv6/ip6mr.c rule->table == RT6_TABLE_DFLT && !rule->l3mdev; rule 66 net/netfilter/nf_dup_netdev.c entry = &flow->rule->action.entries[ctx->num_actions++]; rule 252 net/netfilter/nf_tables_api.c struct nft_rule *rule) rule 256 net/netfilter/nf_tables_api.c expr = nft_expr_first(rule); rule 257 net/netfilter/nf_tables_api.c while (expr != nft_expr_last(rule) && expr->ops) { rule 266 net/netfilter/nf_tables_api.c struct nft_rule *rule, rule 271 net/netfilter/nf_tables_api.c expr = nft_expr_first(rule); rule 272 net/netfilter/nf_tables_api.c while (expr != nft_expr_last(rule) && expr->ops) { rule 281 net/netfilter/nf_tables_api.c nf_tables_delrule_deactivate(struct nft_ctx *ctx, struct nft_rule *rule) rule 284 net/netfilter/nf_tables_api.c if (nft_is_active_next(ctx->net, rule)) { rule 285 net/netfilter/nf_tables_api.c nft_deactivate_next(ctx->net, rule); rule 293 net/netfilter/nf_tables_api.c struct nft_rule *rule) rule 305 net/netfilter/nf_tables_api.c nft_trans_rule(trans) = rule; rule 311 net/netfilter/nf_tables_api.c static int nft_delrule(struct nft_ctx *ctx, struct nft_rule *rule) rule 316 net/netfilter/nf_tables_api.c trans = nft_trans_rule_add(ctx, NFT_MSG_DELRULE, rule); rule 320 net/netfilter/nf_tables_api.c err = nf_tables_delrule_deactivate(ctx, rule); rule 325 net/netfilter/nf_tables_api.c nft_rule_expr_deactivate(ctx, rule, NFT_TRANS_PREPARE); rule 332 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 335 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &ctx->chain->rules, list) { rule 336 net/netfilter/nf_tables_api.c if (!nft_is_active_next(ctx->net, rule)) rule 339 net/netfilter/nf_tables_api.c err = nft_delrule(ctx, rule); rule 1980 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 2012 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { rule 2013 net/netfilter/nf_tables_api.c if (!nft_is_active_next(net, rule)) rule 2017 net/netfilter/nf_tables_api.c err = nft_delrule(&ctx, rule); rule 2305 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 2308 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(rule, &chain->rules, list) { rule 2309 net/netfilter/nf_tables_api.c if (handle == rule->handle) rule 2310 net/netfilter/nf_tables_api.c return rule; rule 2345 net/netfilter/nf_tables_api.c const struct nft_rule *rule, rule 2367 net/netfilter/nf_tables_api.c if (nla_put_be64(skb, NFTA_RULE_HANDLE, cpu_to_be64(rule->handle), rule 2381 net/netfilter/nf_tables_api.c nft_rule_for_each_expr(expr, next, rule) { rule 2387 net/netfilter/nf_tables_api.c if (rule->udata) { rule 2388 net/netfilter/nf_tables_api.c struct nft_userdata *udata = nft_userdata(rule); rule 2403 net/netfilter/nf_tables_api.c const struct nft_rule *rule, int event) rule 2418 net/netfilter/nf_tables_api.c ctx->chain, rule, NULL); rule 2443 net/netfilter/nf_tables_api.c const struct nft_rule *rule, *prule; rule 2447 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(rule, &chain->rules, list) { rule 2448 net/netfilter/nf_tables_api.c if (!nft_is_active(net, rule)) rule 2461 net/netfilter/nf_tables_api.c table, chain, rule, prule) < 0) rule 2466 net/netfilter/nf_tables_api.c prule = rule; rule 2581 net/netfilter/nf_tables_api.c const struct nft_rule *rule; rule 2611 net/netfilter/nf_tables_api.c rule = nft_rule_lookup(chain, nla[NFTA_RULE_HANDLE]); rule 2612 net/netfilter/nf_tables_api.c if (IS_ERR(rule)) { rule 2614 net/netfilter/nf_tables_api.c return PTR_ERR(rule); rule 2623 net/netfilter/nf_tables_api.c family, table, chain, rule, NULL); rule 2635 net/netfilter/nf_tables_api.c struct nft_rule *rule) rule 2643 net/netfilter/nf_tables_api.c expr = nft_expr_first(rule); rule 2644 net/netfilter/nf_tables_api.c while (expr != nft_expr_last(rule) && expr->ops) { rule 2649 net/netfilter/nf_tables_api.c kfree(rule); rule 2653 net/netfilter/nf_tables_api.c struct nft_rule *rule) rule 2655 net/netfilter/nf_tables_api.c nft_rule_expr_deactivate(ctx, rule, NFT_TRANS_RELEASE); rule 2656 net/netfilter/nf_tables_api.c nf_tables_rule_destroy(ctx, rule); rule 2663 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 2669 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { rule 2670 net/netfilter/nf_tables_api.c if (!nft_is_active_next(ctx->net, rule)) rule 2673 net/netfilter/nf_tables_api.c nft_rule_for_each_expr(expr, last, rule) { rule 2726 net/netfilter/nf_tables_api.c struct nft_rule *rule, *old_rule = NULL; rule 2752 net/netfilter/nf_tables_api.c rule = __nft_rule_lookup(chain, handle); rule 2753 net/netfilter/nf_tables_api.c if (IS_ERR(rule)) { rule 2755 net/netfilter/nf_tables_api.c return PTR_ERR(rule); rule 2763 net/netfilter/nf_tables_api.c old_rule = rule; rule 2827 net/netfilter/nf_tables_api.c rule = kzalloc(sizeof(*rule) + size + usize, GFP_KERNEL); rule 2828 net/netfilter/nf_tables_api.c if (rule == NULL) rule 2831 net/netfilter/nf_tables_api.c nft_activate_next(net, rule); rule 2833 net/netfilter/nf_tables_api.c rule->handle = handle; rule 2834 net/netfilter/nf_tables_api.c rule->dlen = size; rule 2835 net/netfilter/nf_tables_api.c rule->udata = ulen ? 1 : 0; rule 2838 net/netfilter/nf_tables_api.c udata = nft_userdata(rule); rule 2843 net/netfilter/nf_tables_api.c expr = nft_expr_first(rule); rule 2857 net/netfilter/nf_tables_api.c trans = nft_trans_rule_add(&ctx, NFT_MSG_NEWRULE, rule); rule 2868 net/netfilter/nf_tables_api.c list_add_tail_rcu(&rule->list, &old_rule->list); rule 2870 net/netfilter/nf_tables_api.c trans = nft_trans_rule_add(&ctx, NFT_MSG_NEWRULE, rule); rule 2878 net/netfilter/nf_tables_api.c list_add_rcu(&rule->list, &old_rule->list); rule 2880 net/netfilter/nf_tables_api.c list_add_tail_rcu(&rule->list, &chain->rules); rule 2883 net/netfilter/nf_tables_api.c list_add_tail_rcu(&rule->list, &old_rule->list); rule 2885 net/netfilter/nf_tables_api.c list_add_rcu(&rule->list, &chain->rules); rule 2895 net/netfilter/nf_tables_api.c flow = nft_flow_rule_create(net, rule); rule 2904 net/netfilter/nf_tables_api.c nf_tables_rule_release(&ctx, rule); rule 2924 net/netfilter/nf_tables_api.c struct nft_rule *rule = nft_trans_rule(trans); rule 2928 net/netfilter/nf_tables_api.c return rule; rule 2942 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 2965 net/netfilter/nf_tables_api.c rule = nft_rule_lookup(chain, nla[NFTA_RULE_HANDLE]); rule 2966 net/netfilter/nf_tables_api.c if (IS_ERR(rule)) { rule 2968 net/netfilter/nf_tables_api.c return PTR_ERR(rule); rule 2971 net/netfilter/nf_tables_api.c err = nft_delrule(&ctx, rule); rule 2973 net/netfilter/nf_tables_api.c rule = nft_rule_lookup_byid(net, nla[NFTA_RULE_ID]); rule 2974 net/netfilter/nf_tables_api.c if (IS_ERR(rule)) { rule 2976 net/netfilter/nf_tables_api.c return PTR_ERR(rule); rule 2979 net/netfilter/nf_tables_api.c err = nft_delrule(&ctx, rule); rule 6610 net/netfilter/nf_tables_api.c struct nft_rule *rule; rule 6618 net/netfilter/nf_tables_api.c rule = list_entry(&chain->rules, struct nft_rule, list); rule 6621 net/netfilter/nf_tables_api.c list_for_each_entry_continue(rule, &chain->rules, list) { rule 6622 net/netfilter/nf_tables_api.c if (nft_is_active_next(net, rule)) rule 6630 net/netfilter/nf_tables_api.c list_for_each_entry_continue(rule, &chain->rules, list) { rule 6631 net/netfilter/nf_tables_api.c if (nft_is_active_next(net, rule)) rule 6632 net/netfilter/nf_tables_api.c chain->rules_next[i++] = rule; rule 7253 net/netfilter/nf_tables_api.c const struct nft_rule *rule; rule 7262 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { rule 7263 net/netfilter/nf_tables_api.c nft_rule_for_each_expr(expr, last, rule) { rule 7669 net/netfilter/nf_tables_api.c struct nft_rule *rule, *nr; rule 7675 net/netfilter/nf_tables_api.c list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) { rule 7676 net/netfilter/nf_tables_api.c list_del(&rule->list); rule 7678 net/netfilter/nf_tables_api.c nf_tables_rule_release(ctx, rule); rule 7694 net/netfilter/nf_tables_api.c struct nft_rule *rule, *nr; rule 7710 net/netfilter/nf_tables_api.c list_for_each_entry_safe(rule, nr, &chain->rules, list) { rule 7711 net/netfilter/nf_tables_api.c list_del(&rule->list); rule 7713 net/netfilter/nf_tables_api.c nf_tables_rule_release(&ctx, rule); rule 41 net/netfilter/nf_tables_core.c const struct nft_rule *rule, rule 45 net/netfilter/nf_tables_core.c info->rule = rule; rule 154 net/netfilter/nf_tables_core.c const struct nft_rule *rule; rule 172 net/netfilter/nf_tables_core.c rule = *rules; rule 175 net/netfilter/nf_tables_core.c rule = *rules; rule 176 net/netfilter/nf_tables_core.c nft_rule_for_each_expr(expr, last, rule) { rule 192 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, rule 204 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, rule 218 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, rule 225 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, rule 18 net/netfilter/nf_tables_offload.c flow->rule = flow_rule_alloc(num_actions); rule 19 net/netfilter/nf_tables_offload.c if (!flow->rule) { rule 24 net/netfilter/nf_tables_offload.c flow->rule->match.dissector = &flow->match.dissector; rule 25 net/netfilter/nf_tables_offload.c flow->rule->match.mask = &flow->match.mask; rule 26 net/netfilter/nf_tables_offload.c flow->rule->match.key = &flow->match.key; rule 32 net/netfilter/nf_tables_offload.c const struct nft_rule *rule) rule 39 net/netfilter/nf_tables_offload.c expr = nft_expr_first(rule); rule 40 net/netfilter/nf_tables_offload.c while (expr->ops && expr != nft_expr_last(rule)) { rule 54 net/netfilter/nf_tables_offload.c expr = nft_expr_first(rule); rule 64 net/netfilter/nf_tables_offload.c while (expr->ops && expr != nft_expr_last(rule)) { rule 91 net/netfilter/nf_tables_offload.c flow_action_for_each(i, entry, &flow->rule->action) { rule 101 net/netfilter/nf_tables_offload.c kfree(flow->rule); rule 162 net/netfilter/nf_tables_offload.c struct nft_rule *rule, rule 182 net/netfilter/nf_tables_offload.c cls_flow.cookie = (unsigned long) rule; rule 184 net/netfilter/nf_tables_offload.c cls_flow.rule = flow->rule; rule 451 net/netfilter/nf_tables_offload.c struct nft_rule *rule; rule 453 net/netfilter/nf_tables_offload.c list_for_each_entry(rule, &chain->rules, list) { rule 454 net/netfilter/nf_tables_offload.c nft_flow_offload_rule(chain, rule, rule 145 net/netfilter/nf_tables_trace.c if (!info->rule) rule 158 net/netfilter/nf_tables_trace.c cpu_to_be64(info->rule->handle), rule 135 net/netfilter/nft_immediate.c entry = &flow->rule->action.entries[ctx->num_actions++]; rule 439 net/sched/cls_flower.c cls_flower.rule = flow_rule_alloc(tcf_exts_num_actions(&f->exts)); rule 440 net/sched/cls_flower.c if (!cls_flower.rule) rule 446 net/sched/cls_flower.c cls_flower.rule->match.dissector = &f->mask->dissector; rule 447 net/sched/cls_flower.c cls_flower.rule->match.mask = &f->mask->key; rule 448 net/sched/cls_flower.c cls_flower.rule->match.key = &f->mkey; rule 451 net/sched/cls_flower.c err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts, rule 454 net/sched/cls_flower.c kfree(cls_flower.rule); rule 464 net/sched/cls_flower.c tc_cleanup_flow_action(&cls_flower.rule->action); rule 465 net/sched/cls_flower.c kfree(cls_flower.rule); rule 1799 net/sched/cls_flower.c cls_flower.rule = rule 1801 net/sched/cls_flower.c if (!cls_flower.rule) { rule 1811 net/sched/cls_flower.c cls_flower.rule->match.dissector = &f->mask->dissector; rule 1812 net/sched/cls_flower.c cls_flower.rule->match.mask = &f->mask->key; rule 1813 net/sched/cls_flower.c cls_flower.rule->match.key = &f->mkey; rule 1815 net/sched/cls_flower.c err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts, rule 1818 net/sched/cls_flower.c kfree(cls_flower.rule); rule 1833 net/sched/cls_flower.c tc_cleanup_flow_action(&cls_flower.rule->action); rule 1834 net/sched/cls_flower.c kfree(cls_flower.rule); rule 1877 net/sched/cls_flower.c cls_flower.rule = flow_rule_alloc(0); rule 1878 net/sched/cls_flower.c if (!cls_flower.rule) rule 1884 net/sched/cls_flower.c cls_flower.rule->match.dissector = &tmplt->dissector; rule 1885 net/sched/cls_flower.c cls_flower.rule->match.mask = &tmplt->mask; rule 1886 net/sched/cls_flower.c cls_flower.rule->match.key = &tmplt->dummy_key; rule 1892 net/sched/cls_flower.c kfree(cls_flower.rule); rule 92 net/sched/cls_matchall.c cls_mall.rule = flow_rule_alloc(tcf_exts_num_actions(&head->exts)); rule 93 net/sched/cls_matchall.c if (!cls_mall.rule) rule 100 net/sched/cls_matchall.c err = tc_setup_flow_action(&cls_mall.rule->action, &head->exts, true); rule 102 net/sched/cls_matchall.c kfree(cls_mall.rule); rule 114 net/sched/cls_matchall.c tc_cleanup_flow_action(&cls_mall.rule->action); rule 115 net/sched/cls_matchall.c kfree(cls_mall.rule); rule 296 net/sched/cls_matchall.c cls_mall.rule = flow_rule_alloc(tcf_exts_num_actions(&head->exts)); rule 297 net/sched/cls_matchall.c if (!cls_mall.rule) rule 305 net/sched/cls_matchall.c err = tc_setup_flow_action(&cls_mall.rule->action, &head->exts, true); rule 307 net/sched/cls_matchall.c kfree(cls_mall.rule); rule 318 net/sched/cls_matchall.c tc_cleanup_flow_action(&cls_mall.rule->action); rule 319 net/sched/cls_matchall.c kfree(cls_mall.rule); rule 865 net/wireless/nl80211.c const struct ieee80211_reg_rule *rule) rule 881 net/wireless/nl80211.c rule->wmm_rule.client[j].cw_min) || rule 883 net/wireless/nl80211.c rule->wmm_rule.client[j].cw_max) || rule 885 net/wireless/nl80211.c rule->wmm_rule.client[j].aifsn) || rule 887 net/wireless/nl80211.c rule->wmm_rule.client[j].cot)) rule 977 net/wireless/nl80211.c const struct ieee80211_reg_rule *rule = rule 980 net/wireless/nl80211.c if (!IS_ERR_OR_NULL(rule) && rule->has_wmm) { rule 981 net/wireless/nl80211.c if (nl80211_msg_put_wmm_rules(msg, rule)) rule 1519 net/wireless/nl80211.c struct nl80211_coalesce_rule_support rule; rule 1524 net/wireless/nl80211.c rule.max_rules = rdev->wiphy.coalesce->n_rules; rule 1525 net/wireless/nl80211.c rule.max_delay = rdev->wiphy.coalesce->max_delay; rule 1526 net/wireless/nl80211.c rule.pat.max_patterns = rdev->wiphy.coalesce->n_patterns; rule 1527 net/wireless/nl80211.c rule.pat.min_pattern_len = rdev->wiphy.coalesce->pattern_min_len; rule 1528 net/wireless/nl80211.c rule.pat.max_pattern_len = rdev->wiphy.coalesce->pattern_max_len; rule 1529 net/wireless/nl80211.c rule.pat.max_pkt_offset = rdev->wiphy.coalesce->max_pkt_offset; rule 1531 net/wireless/nl80211.c if (nla_put(msg, NL80211_ATTR_COALESCE_RULE, sizeof(rule), &rule)) rule 11765 net/wireless/nl80211.c struct cfg80211_coalesce_rules *rule; rule 11779 net/wireless/nl80211.c rule = &rdev->coalesce->rules[i]; rule 11781 net/wireless/nl80211.c rule->delay)) rule 11785 net/wireless/nl80211.c rule->condition)) rule 11793 net/wireless/nl80211.c for (j = 0; j < rule->n_patterns; j++) { rule 11797 net/wireless/nl80211.c pat_len = rule->patterns[j].pattern_len; rule 11800 net/wireless/nl80211.c rule->patterns[j].mask) || rule 11802 net/wireless/nl80211.c rule->patterns[j].pattern) || rule 11804 net/wireless/nl80211.c rule->patterns[j].pkt_offset)) rule 11849 net/wireless/nl80211.c struct cfg80211_coalesce_rules *rule; rule 11855 net/wireless/nl80211.c rule = &coalesce->rules[i]; rule 11856 net/wireless/nl80211.c for (j = 0; j < rule->n_patterns; j++) rule 11857 net/wireless/nl80211.c kfree(rule->patterns[j].mask); rule 11858 net/wireless/nl80211.c kfree(rule->patterns); rule 11866 net/wireless/nl80211.c struct nlattr *rule, rule 11876 net/wireless/nl80211.c rule, nl80211_coalesce_policy, NULL); rule 11963 net/wireless/nl80211.c struct nlattr *rule; rule 11975 net/wireless/nl80211.c nla_for_each_nested(rule, info->attrs[NL80211_ATTR_COALESCE_RULE], rule 11989 net/wireless/nl80211.c nla_for_each_nested(rule, info->attrs[NL80211_ATTR_COALESCE_RULE], rule 11991 net/wireless/nl80211.c err = nl80211_parse_coalesce_rule(rdev, rule, rule 641 net/wireless/reg.c static bool valid_wmm(struct fwdb_wmm_rule *rule) rule 643 net/wireless/reg.c struct fwdb_wmm_ac *ac = (struct fwdb_wmm_ac *)rule; rule 663 net/wireless/reg.c struct fwdb_rule *rule = (void *)(data + (rule_ptr << 2)); rule 665 net/wireless/reg.c if ((u8 *)rule + sizeof(rule->len) > data + size) rule 669 net/wireless/reg.c if (rule->len < offsetofend(struct fwdb_rule, max_bw)) rule 671 net/wireless/reg.c if (rule->len >= offsetofend(struct fwdb_rule, wmm_ptr)) { rule 672 net/wireless/reg.c u32 wmm_ptr = be16_to_cpu(rule->wmm_ptr) << 2; rule 859 net/wireless/reg.c const struct fwdb_rule *rule, rule 866 net/wireless/reg.c wmm_ptr = be16_to_cpu(rule->wmm_ptr) << 2; rule 871 net/wireless/reg.c be32_to_cpu(rule->start), be32_to_cpu(rule->end), rule 903 net/wireless/reg.c struct fwdb_rule *rule = (void *)((u8 *)db + rule_ptr); rule 905 net/wireless/reg.c if (rule->len < offsetofend(struct fwdb_rule, wmm_ptr)) rule 908 net/wireless/reg.c if (freq >= KHZ_TO_MHZ(be32_to_cpu(rule->start)) && rule 909 net/wireless/reg.c freq <= KHZ_TO_MHZ(be32_to_cpu(rule->end))) { rule 910 net/wireless/reg.c set_wmm_rule(db, country, rule, rrule); rule 918 net/wireless/reg.c int reg_query_regdb_wmm(char *alpha2, int freq, struct ieee80211_reg_rule *rule) rule 932 net/wireless/reg.c return __regdb_query_wmm(regdb, country, freq, rule); rule 962 net/wireless/reg.c struct fwdb_rule *rule = (void *)((u8 *)db + rule_ptr); rule 965 net/wireless/reg.c rrule->freq_range.start_freq_khz = be32_to_cpu(rule->start); rule 966 net/wireless/reg.c rrule->freq_range.end_freq_khz = be32_to_cpu(rule->end); rule 967 net/wireless/reg.c rrule->freq_range.max_bandwidth_khz = be32_to_cpu(rule->max_bw); rule 970 net/wireless/reg.c rrule->power_rule.max_eirp = be16_to_cpu(rule->max_eirp); rule 973 net/wireless/reg.c if (rule->flags & FWDB_FLAG_NO_OFDM) rule 975 net/wireless/reg.c if (rule->flags & FWDB_FLAG_NO_OUTDOOR) rule 977 net/wireless/reg.c if (rule->flags & FWDB_FLAG_DFS) rule 979 net/wireless/reg.c if (rule->flags & FWDB_FLAG_NO_IR) rule 981 net/wireless/reg.c if (rule->flags & FWDB_FLAG_AUTO_BW) rule 987 net/wireless/reg.c if (rule->len >= offsetofend(struct fwdb_rule, cac_timeout)) rule 989 net/wireless/reg.c 1000 * be16_to_cpu(rule->cac_timeout); rule 990 net/wireless/reg.c if (rule->len >= offsetofend(struct fwdb_rule, wmm_ptr)) rule 991 net/wireless/reg.c set_wmm_rule(db, country, rule, rrule); rule 1148 net/wireless/reg.c const struct ieee80211_reg_rule *rule) rule 1150 net/wireless/reg.c const struct ieee80211_freq_range *freq_range = &rule->freq_range; rule 1156 net/wireless/reg.c if (rule == &rd->reg_rules[idx]) rule 1178 net/wireless/reg.c freq_range = &rule->freq_range; rule 1197 net/wireless/reg.c const struct ieee80211_reg_rule *rule) rule 1199 net/wireless/reg.c unsigned int bw = reg_get_max_bandwidth_from_range(rd, rule); rule 1201 net/wireless/reg.c if (rule->flags & NL80211_RRF_NO_160MHZ) rule 1203 net/wireless/reg.c if (rule->flags & NL80211_RRF_NO_80MHZ) rule 1210 net/wireless/reg.c if (rule->flags & NL80211_RRF_NO_HT40MINUS && rule 1211 net/wireless/reg.c rule->flags & NL80211_RRF_NO_HT40PLUS) rule 1218 net/wireless/reg.c static bool is_valid_reg_rule(const struct ieee80211_reg_rule *rule) rule 1220 net/wireless/reg.c const struct ieee80211_freq_range *freq_range = &rule->freq_range; rule 1446 net/wireless/reg.c static void add_rule(struct ieee80211_reg_rule *rule, rule 1455 net/wireless/reg.c if (rule_contains(tmp_rule, rule)) rule 1459 net/wireless/reg.c if (rule_contains(rule, tmp_rule)) { rule 1460 net/wireless/reg.c memcpy(tmp_rule, rule, sizeof(*rule)); rule 1465 net/wireless/reg.c memcpy(®_rules[*n_rules], rule, sizeof(*rule)); rule 63 net/wireless/reg.h const struct ieee80211_reg_rule *rule); rule 169 security/apparmor/audit.c struct aa_audit_rule *rule = vrule; rule 171 security/apparmor/audit.c if (rule) { rule 172 security/apparmor/audit.c if (!IS_ERR(rule->label)) rule 173 security/apparmor/audit.c aa_put_label(rule->label); rule 174 security/apparmor/audit.c kfree(rule); rule 180 security/apparmor/audit.c struct aa_audit_rule *rule; rule 191 security/apparmor/audit.c rule = kzalloc(sizeof(struct aa_audit_rule), GFP_KERNEL); rule 193 security/apparmor/audit.c if (!rule) rule 197 security/apparmor/audit.c rule->label = aa_label_parse(&root_ns->unconfined->label, rulestr, rule 199 security/apparmor/audit.c if (IS_ERR(rule->label)) { rule 200 security/apparmor/audit.c int err = PTR_ERR(rule->label); rule 201 security/apparmor/audit.c aa_audit_rule_free(rule); rule 205 security/apparmor/audit.c *vrule = rule; rule 209 security/apparmor/audit.c int aa_audit_rule_known(struct audit_krule *rule) rule 213 security/apparmor/audit.c for (i = 0; i < rule->field_count; i++) { rule 214 security/apparmor/audit.c struct audit_field *f = &rule->fields[i]; rule 227 security/apparmor/audit.c struct aa_audit_rule *rule = vrule; rule 236 security/apparmor/audit.c if (aa_label_is_subset(label, rule->label)) rule 190 security/apparmor/include/audit.h int aa_audit_rule_known(struct audit_krule *rule); rule 77 security/integrity/ima/ima_policy.c void *rule; /* LSM file metadata specific */ rule 257 security/integrity/ima/ima_policy.c kfree(entry->lsm[i].rule); rule 292 security/integrity/ima/ima_policy.c &nentry->lsm[i].rule); rule 293 security/integrity/ima/ima_policy.c if (!nentry->lsm[i].rule) rule 369 security/integrity/ima/ima_policy.c static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode, rule 376 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FUNC) && (rule->func == func)) rule 380 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FUNC) && rule 381 security/integrity/ima/ima_policy.c (rule->func != func && func != POST_SETATTR)) rule 383 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_MASK) && rule 384 security/integrity/ima/ima_policy.c (rule->mask != mask && func != POST_SETATTR)) rule 386 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_INMASK) && rule 387 security/integrity/ima/ima_policy.c (!(rule->mask & mask) && func != POST_SETATTR)) rule 389 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FSMAGIC) rule 390 security/integrity/ima/ima_policy.c && rule->fsmagic != inode->i_sb->s_magic) rule 392 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FSNAME) rule 393 security/integrity/ima/ima_policy.c && strcmp(rule->fsname, inode->i_sb->s_type->name)) rule 395 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FSUUID) && rule 396 security/integrity/ima/ima_policy.c !uuid_equal(&rule->fsuuid, &inode->i_sb->s_uuid)) rule 398 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_UID) && !rule->uid_op(cred->uid, rule->uid)) rule 400 security/integrity/ima/ima_policy.c if (rule->flags & IMA_EUID) { rule 402 security/integrity/ima/ima_policy.c if (!rule->uid_op(cred->euid, rule->uid) rule 403 security/integrity/ima/ima_policy.c && !rule->uid_op(cred->suid, rule->uid) rule 404 security/integrity/ima/ima_policy.c && !rule->uid_op(cred->uid, rule->uid)) rule 406 security/integrity/ima/ima_policy.c } else if (!rule->uid_op(cred->euid, rule->uid)) rule 410 security/integrity/ima/ima_policy.c if ((rule->flags & IMA_FOWNER) && rule 411 security/integrity/ima/ima_policy.c !rule->fowner_op(inode->i_uid, rule->fowner)) rule 417 security/integrity/ima/ima_policy.c if (!rule->lsm[i].rule) { rule 418 security/integrity/ima/ima_policy.c if (!rule->lsm[i].args_p) rule 429 security/integrity/ima/ima_policy.c rule->lsm[i].type, rule 431 security/integrity/ima/ima_policy.c rule->lsm[i].rule); rule 437 security/integrity/ima/ima_policy.c rule->lsm[i].type, rule 439 security/integrity/ima/ima_policy.c rule->lsm[i].rule); rule 453 security/integrity/ima/ima_policy.c static int get_subaction(struct ima_rule_entry *rule, enum ima_hooks func) rule 455 security/integrity/ima/ima_policy.c if (!(rule->flags & IMA_FUNC)) rule 601 security/integrity/ima/ima_policy.c static int ima_parse_rule(char *rule, struct ima_rule_entry *entry); rule 625 security/integrity/ima/ima_policy.c char rule[255]; rule 628 security/integrity/ima/ima_policy.c result = strlcpy(rule, *rules, sizeof(rule)); rule 631 security/integrity/ima/ima_policy.c result = ima_parse_rule(rule, &arch_policy_entry[i]); rule 634 security/integrity/ima/ima_policy.c rule); rule 814 security/integrity/ima/ima_policy.c if (entry->lsm[lsm_rule].rule) rule 825 security/integrity/ima/ima_policy.c &entry->lsm[lsm_rule].rule); rule 826 security/integrity/ima/ima_policy.c if (!entry->lsm[lsm_rule].rule) { rule 891 security/integrity/ima/ima_policy.c static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) rule 908 security/integrity/ima/ima_policy.c while ((p = strsep(&rule, " \t")) != NULL) { rule 1251 security/integrity/ima/ima_policy.c ssize_t ima_parse_add_rule(char *rule) rule 1259 security/integrity/ima/ima_policy.c p = strsep(&rule, "\n"); rule 1474 security/integrity/ima/ima_policy.c if (entry->lsm[i].rule) { rule 33 security/safesetid/lsm.c struct setuid_rule *rule; rule 36 security/safesetid/lsm.c hash_for_each_possible(policy->rules, rule, next, __kuid_val(src)) { rule 37 security/safesetid/lsm.c if (!uid_eq(rule->src_uid, src)) rule 39 security/safesetid/lsm.c if (uid_eq(rule->dst_uid, dst)) rule 31 security/safesetid/securityfs.c struct setuid_rule *rule) rule 52 security/safesetid/securityfs.c rule->src_uid = make_kuid(file->f_cred->user_ns, parsed_parent); rule 53 security/safesetid/securityfs.c rule->dst_uid = make_kuid(file->f_cred->user_ns, parsed_child); rule 54 security/safesetid/securityfs.c if (!uid_valid(rule->src_uid) || !uid_valid(rule->dst_uid)) rule 65 security/safesetid/securityfs.c struct setuid_rule *rule; rule 68 security/safesetid/securityfs.c hash_for_each_safe(pol->rules, bucket, tmp, rule, next) rule 69 security/safesetid/securityfs.c kfree(rule); rule 79 security/safesetid/securityfs.c static void insert_rule(struct setuid_ruleset *pol, struct setuid_rule *rule) rule 81 security/safesetid/securityfs.c hash_add(pol->rules, &rule->next, __kuid_val(rule->src_uid)); rule 87 security/safesetid/securityfs.c struct setuid_rule *rule, *nrule; rule 90 security/safesetid/securityfs.c hash_for_each(pol->rules, bucket, rule, next) { rule 91 security/safesetid/securityfs.c if (_setuid_policy_lookup(pol, rule->dst_uid, INVALID_UID) == rule 94 security/safesetid/securityfs.c __kuid_val(rule->src_uid), rule 95 security/safesetid/securityfs.c __kuid_val(rule->dst_uid)); rule 102 security/safesetid/securityfs.c nrule->src_uid = rule->dst_uid; rule 103 security/safesetid/securityfs.c nrule->dst_uid = rule->dst_uid; rule 136 security/safesetid/securityfs.c struct setuid_rule *rule; rule 145 security/safesetid/securityfs.c rule = kmalloc(sizeof(struct setuid_rule), GFP_KERNEL); rule 146 security/safesetid/securityfs.c if (!rule) { rule 151 security/safesetid/securityfs.c err = parse_policy_line(file, p, rule); rule 155 security/safesetid/securityfs.c if (_setuid_policy_lookup(pol, rule->src_uid, rule->dst_uid) == rule 162 security/safesetid/securityfs.c insert_rule(pol, rule); rule 167 security/safesetid/securityfs.c kfree(rule); rule 26 security/selinux/include/audit.h int selinux_audit_rule_init(u32 field, u32 op, char *rulestr, void **rule); rule 35 security/selinux/include/audit.h void selinux_audit_rule_free(void *rule); rule 47 security/selinux/include/audit.h int selinux_audit_rule_match(u32 sid, u32 field, u32 op, void *rule); rule 3272 security/selinux/ss/services.c struct selinux_audit_rule *rule = vrule; rule 3274 security/selinux/ss/services.c if (rule) { rule 3275 security/selinux/ss/services.c context_destroy(&rule->au_ctxt); rule 3276 security/selinux/ss/services.c kfree(rule); rule 3288 security/selinux/ss/services.c struct selinux_audit_rule **rule = (struct selinux_audit_rule **)vrule; rule 3291 security/selinux/ss/services.c *rule = NULL; rule 3374 security/selinux/ss/services.c *rule = tmprule; rule 3380 security/selinux/ss/services.c int selinux_audit_rule_known(struct audit_krule *rule) rule 3384 security/selinux/ss/services.c for (i = 0; i < rule->field_count; i++) { rule 3385 security/selinux/ss/services.c struct audit_field *f = &rule->fields[i]; rule 3409 security/selinux/ss/services.c struct selinux_audit_rule *rule = vrule; rule 3412 security/selinux/ss/services.c if (unlikely(!rule)) { rule 3419 security/selinux/ss/services.c if (rule->au_seqno < state->ss->latest_granting) { rule 3439 security/selinux/ss/services.c match = (ctxt->user == rule->au_ctxt.user); rule 3442 security/selinux/ss/services.c match = (ctxt->user != rule->au_ctxt.user); rule 3450 security/selinux/ss/services.c match = (ctxt->role == rule->au_ctxt.role); rule 3453 security/selinux/ss/services.c match = (ctxt->role != rule->au_ctxt.role); rule 3461 security/selinux/ss/services.c match = (ctxt->type == rule->au_ctxt.type); rule 3464 security/selinux/ss/services.c match = (ctxt->type != rule->au_ctxt.type); rule 3477 security/selinux/ss/services.c match = mls_level_eq(&rule->au_ctxt.range.level[0], rule 3481 security/selinux/ss/services.c match = !mls_level_eq(&rule->au_ctxt.range.level[0], rule 3485 security/selinux/ss/services.c match = (mls_level_dom(&rule->au_ctxt.range.level[0], rule 3487 security/selinux/ss/services.c !mls_level_eq(&rule->au_ctxt.range.level[0], rule 3491 security/selinux/ss/services.c match = mls_level_dom(&rule->au_ctxt.range.level[0], rule 3496 security/selinux/ss/services.c &rule->au_ctxt.range.level[0]) && rule 3498 security/selinux/ss/services.c &rule->au_ctxt.range.level[0])); rule 3502 security/selinux/ss/services.c &rule->au_ctxt.range.level[0]); rule 4341 security/smack/smack_lsm.c char **rule = (char **)vrule; rule 4342 security/smack/smack_lsm.c *rule = NULL; rule 4354 security/smack/smack_lsm.c *rule = skp->smk_known; rule 4395 security/smack/smack_lsm.c char *rule = vrule; rule 4397 security/smack/smack_lsm.c if (unlikely(!rule)) { rule 4413 security/smack/smack_lsm.c return (rule == skp->smk_known); rule 4415 security/smack/smack_lsm.c return (rule != skp->smk_known); rule 316 security/smack/smackfs.c struct smack_parsed_rule *rule, int import, rule 323 security/smack/smackfs.c rule->smk_subject = smk_import_entry(subject, len); rule 324 security/smack/smackfs.c if (IS_ERR(rule->smk_subject)) rule 325 security/smack/smackfs.c return PTR_ERR(rule->smk_subject); rule 327 security/smack/smackfs.c rule->smk_object = smk_import_entry(object, len); rule 328 security/smack/smackfs.c if (IS_ERR(rule->smk_object)) rule 329 security/smack/smackfs.c return PTR_ERR(rule->smk_object); rule 338 security/smack/smackfs.c rule->smk_subject = skp; rule 347 security/smack/smackfs.c rule->smk_object = skp; rule 350 security/smack/smackfs.c rule->smk_access1 = smk_perm_from_str(access1); rule 352 security/smack/smackfs.c rule->smk_access2 = smk_perm_from_str(access2); rule 354 security/smack/smackfs.c rule->smk_access2 = ~rule->smk_access1; rule 367 security/smack/smackfs.c static int smk_parse_rule(const char *data, struct smack_parsed_rule *rule, rule 373 security/smack/smackfs.c data + SMK_LABELLEN + SMK_LABELLEN, NULL, rule, rule 387 security/smack/smackfs.c static ssize_t smk_parse_long_rule(char *data, struct smack_parsed_rule *rule, rule 417 security/smack/smackfs.c rc = smk_fill_rule(tok[0], tok[1], tok[2], tok[3], rule, import, 0); rule 448 security/smack/smackfs.c struct smack_parsed_rule rule; rule 496 security/smack/smackfs.c rc = smk_parse_rule(data, &rule, 1); rule 501 security/smack/smackfs.c rc = smk_parse_long_rule(data + cnt, &rule, 1, tokens); rule 512 security/smack/smackfs.c rc = smk_set_access(&rule, &rule.smk_subject->smk_rules, rule 513 security/smack/smackfs.c &rule.smk_subject->smk_rules_lock); rule 515 security/smack/smackfs.c rc = smk_set_access(&rule, rule_list, rule_lock); rule 842 security/smack/smackfs.c char *rule; rule 863 security/smack/smackfs.c rule = data; rule 870 security/smack/smackfs.c skp = smk_import_entry(rule, 0); rule 877 security/smack/smackfs.c rule += SMK_LABELLEN; rule 879 security/smack/smackfs.c rule += strlen(skp->smk_known) + 1; rule 881 security/smack/smackfs.c if (rule > data + count) { rule 886 security/smack/smackfs.c ret = sscanf(rule, "%d", &maplevel); rule 890 security/smack/smackfs.c rule += SMK_DIGITLEN; rule 891 security/smack/smackfs.c if (rule > data + count) { rule 896 security/smack/smackfs.c ret = sscanf(rule, "%d", &catlen); rule 907 security/smack/smackfs.c rule += SMK_DIGITLEN; rule 908 security/smack/smackfs.c ret = sscanf(rule, "%u", &cat); rule 2271 security/smack/smackfs.c struct smack_parsed_rule rule; rule 2282 security/smack/smackfs.c res = smk_parse_rule(data, &rule, 0); rule 2287 security/smack/smackfs.c res = smk_parse_long_rule(data, &rule, 0, 3); rule 2291 security/smack/smackfs.c res = smk_access(rule.smk_subject, rule.smk_object, rule 2292 security/smack/smackfs.c rule.smk_access1, NULL); rule 381 sound/arm/aaci.c struct snd_pcm_hw_rule *rule) rule 384 sound/arm/aaci.c struct aaci *aaci = rule->private; rule 395 sound/arm/aaci.c return snd_interval_list(hw_param_interval(p, rule->var), rule 26 sound/core/pcm_drm_eld.c struct snd_pcm_hw_rule *rule) rule 28 sound/core/pcm_drm_eld.c struct snd_interval *r = hw_param_interval(params, rule->var); rule 31 sound/core/pcm_drm_eld.c const u8 *sad, *eld = rule->private; rule 54 sound/core/pcm_drm_eld.c struct snd_pcm_hw_rule *rule) rule 56 sound/core/pcm_drm_eld.c struct snd_interval *c = hw_param_interval(params, rule->var); rule 60 sound/core/pcm_drm_eld.c const u8 *sad, *eld = rule->private; rule 1242 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1244 sound/core/pcm_lib.c struct snd_pcm_hw_constraint_list *list = rule->private; rule 1245 sound/core/pcm_lib.c return snd_interval_list(hw_param_interval(params, rule->var), list->count, list->list, list->mask); rule 1272 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1274 sound/core/pcm_lib.c struct snd_pcm_hw_constraint_ranges *r = rule->private; rule 1275 sound/core/pcm_lib.c return snd_interval_ranges(hw_param_interval(params, rule->var), rule 1303 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1305 sound/core/pcm_lib.c const struct snd_pcm_hw_constraint_ratnums *r = rule->private; rule 1308 sound/core/pcm_lib.c err = snd_interval_ratnum(hw_param_interval(params, rule->var), rule 1310 sound/core/pcm_lib.c if (err >= 0 && den && rule->var == SNDRV_PCM_HW_PARAM_RATE) { rule 1338 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1340 sound/core/pcm_lib.c const struct snd_pcm_hw_constraint_ratdens *r = rule->private; rule 1342 sound/core/pcm_lib.c int err = snd_interval_ratden(hw_param_interval(params, rule->var), rule 1344 sound/core/pcm_lib.c if (err >= 0 && den && rule->var == SNDRV_PCM_HW_PARAM_RATE) { rule 1372 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1374 sound/core/pcm_lib.c unsigned int l = (unsigned long) rule->private; rule 1418 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1420 sound/core/pcm_lib.c unsigned long step = (unsigned long) rule->private; rule 1421 sound/core/pcm_lib.c return snd_interval_step(hw_param_interval(params, rule->var), step); rule 1444 sound/core/pcm_lib.c static int snd_pcm_hw_rule_pow2(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 1452 sound/core/pcm_lib.c return snd_interval_list(hw_param_interval(params, rule->var), rule 1475 sound/core/pcm_lib.c struct snd_pcm_hw_rule *rule) rule 1477 sound/core/pcm_lib.c unsigned int base_rate = (unsigned int)(uintptr_t)rule->private; rule 2103 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2106 sound/core/pcm_native.c snd_interval_mul(hw_param_interval_c(params, rule->deps[0]), rule 2107 sound/core/pcm_native.c hw_param_interval_c(params, rule->deps[1]), &t); rule 2108 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 2112 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2115 sound/core/pcm_native.c snd_interval_div(hw_param_interval_c(params, rule->deps[0]), rule 2116 sound/core/pcm_native.c hw_param_interval_c(params, rule->deps[1]), &t); rule 2117 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 2121 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2124 sound/core/pcm_native.c snd_interval_muldivk(hw_param_interval_c(params, rule->deps[0]), rule 2125 sound/core/pcm_native.c hw_param_interval_c(params, rule->deps[1]), rule 2126 sound/core/pcm_native.c (unsigned long) rule->private, &t); rule 2127 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 2131 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2134 sound/core/pcm_native.c snd_interval_mulkdiv(hw_param_interval_c(params, rule->deps[0]), rule 2135 sound/core/pcm_native.c (unsigned long) rule->private, rule 2136 sound/core/pcm_native.c hw_param_interval_c(params, rule->deps[1]), &t); rule 2137 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 2141 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2145 sound/core/pcm_native.c hw_param_interval_c(params, rule->deps[0]); rule 2163 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2184 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 2202 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2204 sound/core/pcm_native.c struct snd_pcm_hardware *hw = rule->private; rule 2205 sound/core/pcm_native.c return snd_interval_list(hw_param_interval(params, rule->var), rule 2211 sound/core/pcm_native.c struct snd_pcm_hw_rule *rule) rule 2214 sound/core/pcm_native.c struct snd_pcm_substream *substream = rule->private; rule 2220 sound/core/pcm_native.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 604 sound/drivers/aloop.c struct snd_pcm_hw_rule *rule) rule 606 sound/drivers/aloop.c struct loopback_pcm *dpcm = rule->private; rule 615 sound/drivers/aloop.c return snd_mask_refine(hw_param_mask(params, rule->var), &m); rule 619 sound/drivers/aloop.c struct snd_pcm_hw_rule *rule) rule 621 sound/drivers/aloop.c struct loopback_pcm *dpcm = rule->private; rule 631 sound/drivers/aloop.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 635 sound/drivers/aloop.c struct snd_pcm_hw_rule *rule) rule 637 sound/drivers/aloop.c struct loopback_pcm *dpcm = rule->private; rule 647 sound/drivers/aloop.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 153 sound/firewire/amdtp-stream.c struct snd_pcm_hw_rule *rule) rule 155 sound/firewire/amdtp-stream.c struct snd_interval *s = hw_param_interval(params, rule->var); rule 11 sound/firewire/bebob/bebob_pcm.c hw_rule_rate(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 13 sound/firewire/bebob/bebob_pcm.c struct snd_bebob_stream_formation *formations = rule->private; rule 39 sound/firewire/bebob/bebob_pcm.c hw_rule_channels(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 41 sound/firewire/bebob/bebob_pcm.c struct snd_bebob_stream_formation *formations = rule->private; rule 12 sound/firewire/dice/dice-pcm.c struct snd_pcm_hw_rule *rule) rule 14 sound/firewire/dice/dice-pcm.c struct snd_pcm_substream *substream = rule->private; rule 50 sound/firewire/dice/dice-pcm.c struct snd_pcm_hw_rule *rule) rule 52 sound/firewire/dice/dice-pcm.c struct snd_pcm_substream *substream = rule->private; rule 11 sound/firewire/digi00x/digi00x-pcm.c struct snd_pcm_hw_rule *rule) rule 35 sound/firewire/digi00x/digi00x-pcm.c struct snd_pcm_hw_rule *rule) rule 11 sound/firewire/fireface/ff-pcm.c struct snd_pcm_hw_rule *rule) rule 13 sound/firewire/fireface/ff-pcm.c const unsigned int *pcm_channels = rule->private; rule 42 sound/firewire/fireface/ff-pcm.c struct snd_pcm_hw_rule *rule) rule 44 sound/firewire/fireface/ff-pcm.c const unsigned int *pcm_channels = rule->private; rule 64 sound/firewire/fireworks/fireworks_pcm.c hw_rule_rate(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 66 sound/firewire/fireworks/fireworks_pcm.c unsigned int *pcm_channels = rule->private; rule 89 sound/firewire/fireworks/fireworks_pcm.c hw_rule_channels(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 91 sound/firewire/fireworks/fireworks_pcm.c unsigned int *pcm_channels = rule->private; rule 12 sound/firewire/motu/motu-pcm.c struct snd_pcm_hw_rule *rule) rule 14 sound/firewire/motu/motu-pcm.c struct snd_motu_packet_format *formats = rule->private; rule 42 sound/firewire/motu/motu-pcm.c struct snd_pcm_hw_rule *rule) rule 44 sound/firewire/motu/motu-pcm.c struct snd_motu_packet_format *formats = rule->private; rule 11 sound/firewire/oxfw/oxfw-pcm.c struct snd_pcm_hw_rule *rule) rule 13 sound/firewire/oxfw/oxfw-pcm.c u8 **formats = rule->private; rule 42 sound/firewire/oxfw/oxfw-pcm.c struct snd_pcm_hw_rule *rule) rule 44 sound/firewire/oxfw/oxfw-pcm.c u8 **formats = rule->private; rule 63 sound/isa/sb/sb8_main.c struct snd_pcm_hw_rule *rule) rule 80 sound/isa/sb/sb8_main.c struct snd_pcm_hw_rule *rule) rule 684 sound/pci/ac97/ac97_pcm.c struct snd_pcm_hw_rule *rule) rule 699 sound/pci/ac97/ac97_pcm.c struct snd_pcm_hw_rule *rule) rule 107 sound/pci/echoaudio/echoaudio.c struct snd_pcm_hw_rule *rule) rule 135 sound/pci/echoaudio/echoaudio.c struct snd_pcm_hw_rule *rule) rule 169 sound/pci/echoaudio/echoaudio.c struct snd_pcm_hw_rule *rule) rule 204 sound/pci/echoaudio/echoaudio.c struct snd_pcm_hw_rule *rule) rule 242 sound/pci/echoaudio/echoaudio.c struct snd_pcm_hw_rule *rule) rule 246 sound/pci/echoaudio/echoaudio.c struct echoaudio *chip = rule->private; rule 4271 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4273 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 4290 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4293 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 4308 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4310 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 4339 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4341 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 4370 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4372 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 4401 sound/pci/rme9652/hdsp.c struct snd_pcm_hw_rule *rule) rule 4403 sound/pci/rme9652/hdsp.c struct hdsp *hdsp = rule->private; rule 5874 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule *rule) rule 5876 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 5909 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule * rule) rule 5911 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 5944 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule * rule) rule 5946 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 5978 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule *rule) rule 5980 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 6013 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule *rule) rule 6016 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 6027 sound/pci/rme9652/hdspm.c struct snd_pcm_hw_rule *rule) rule 6030 sound/pci/rme9652/hdspm.c struct hdspm *hdspm = rule->private; rule 2225 sound/pci/rme9652/rme9652.c struct snd_pcm_hw_rule *rule) rule 2227 sound/pci/rme9652/rme9652.c struct snd_rme9652 *rme9652 = rule->private; rule 2234 sound/pci/rme9652/rme9652.c struct snd_pcm_hw_rule *rule) rule 2236 sound/pci/rme9652/rme9652.c struct snd_rme9652 *rme9652 = rule->private; rule 2258 sound/pci/rme9652/rme9652.c struct snd_pcm_hw_rule *rule) rule 2260 sound/pci/rme9652/rme9652.c struct snd_rme9652 *rme9652 = rule->private; rule 544 sound/pci/sonicvibes.c struct snd_pcm_hw_rule *rule) rule 540 sound/ppc/pmac.c struct snd_pcm_hw_rule *rule) rule 542 sound/ppc/pmac.c struct snd_pmac *chip = rule->private; rule 543 sound/ppc/pmac.c struct pmac_stream *rec = snd_pmac_get_stream(chip, rule->deps[0]); rule 554 sound/ppc/pmac.c return snd_interval_list(hw_param_interval(params, rule->var), rule 559 sound/ppc/pmac.c struct snd_pcm_hw_rule *rule) rule 561 sound/ppc/pmac.c struct snd_pmac *chip = rule->private; rule 562 sound/ppc/pmac.c struct pmac_stream *rec = snd_pmac_get_stream(chip, rule->deps[0]); rule 192 sound/soc/atmel/atmel_ssc_dai.c struct snd_pcm_hw_rule *rule) rule 194 sound/soc/atmel/atmel_ssc_dai.c struct atmel_ssc_info *ssc_p = rule->private; rule 196 sound/soc/atmel/atmel_ssc_dai.c struct snd_interval *i = hw_param_interval(params, rule->var); rule 240 sound/soc/atmel/atmel_ssc_dai.c if (ret >= 0 && den && rule->var == SNDRV_PCM_HW_PARAM_RATE) { rule 58 sound/soc/codecs/lochnagar-sc.c struct snd_pcm_hw_rule *rule) rule 62 sound/soc/codecs/lochnagar-sc.c .max = 24576000 / hw_param_interval(params, rule->deps[0])->max, rule 65 sound/soc/codecs/lochnagar-sc.c return snd_interval_refine(hw_param_interval(params, rule->var), rule 546 sound/soc/codecs/pcm512x.c struct snd_pcm_hw_rule *rule) rule 548 sound/soc/codecs/pcm512x.c struct pcm512x_priv *pcm512x = rule->private; rule 575 sound/soc/codecs/pcm512x.c return snd_interval_ranges(hw_param_interval(params, rule->var), rule 916 sound/soc/sh/rcar/core.c struct snd_pcm_hw_rule *rule) rule 921 sound/soc/sh/rcar/core.c struct rsnd_dai_stream *io = rule->private; rule 939 sound/soc/sh/rcar/core.c struct snd_pcm_hw_rule *rule) rule 944 sound/soc/sh/rcar/core.c struct rsnd_dai_stream *io = rule->private; rule 164 sound/soc/sti/sti_uniperif.c struct snd_pcm_hw_rule *rule) rule 166 sound/soc/sti/sti_uniperif.c struct uniperif *uni = rule->private; rule 175 sound/soc/sti/sti_uniperif.c return snd_interval_refine(hw_param_interval(params, rule->var), &t); rule 179 sound/soc/sti/sti_uniperif.c struct snd_pcm_hw_rule *rule) rule 181 sound/soc/sti/sti_uniperif.c struct uniperif *uni = rule->private; rule 182 sound/soc/sti/sti_uniperif.c struct snd_mask *maskp = hw_param_mask(params, rule->var); rule 1411 sound/soc/sti/uniperif.h struct snd_pcm_hw_rule *rule); rule 1414 sound/soc/sti/uniperif.h struct snd_pcm_hw_rule *rule); rule 1274 sound/soc/ti/davinci-mcasp.c struct snd_pcm_hw_rule *rule) rule 1276 sound/soc/ti/davinci-mcasp.c struct davinci_mcasp_ruledata *rd = rule->private; rule 1296 sound/soc/ti/davinci-mcasp.c struct snd_pcm_hw_rule *rule) rule 1298 sound/soc/ti/davinci-mcasp.c struct davinci_mcasp_ruledata *rd = rule->private; rule 1325 sound/soc/ti/davinci-mcasp.c struct snd_pcm_hw_rule *rule) rule 1327 sound/soc/ti/davinci-mcasp.c struct davinci_mcasp_ruledata *rd = rule->private; rule 1370 sound/soc/ti/davinci-mcasp.c return snd_interval_refine(hw_param_interval(params, rule->var), rule 1375 sound/soc/ti/davinci-mcasp.c struct snd_pcm_hw_rule *rule) rule 1377 sound/soc/ti/davinci-mcasp.c struct davinci_mcasp_ruledata *rd = rule->private; rule 1418 sound/soc/ti/davinci-mcasp.c struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) rule 767 sound/soc/ti/omap-mcbsp.c struct snd_pcm_hw_rule *rule) rule 773 sound/soc/ti/omap-mcbsp.c struct omap_mcbsp *mcbsp = rule->private; rule 2011 sound/sparc/dbri.c struct snd_pcm_hw_rule *rule) rule 2027 sound/sparc/dbri.c struct snd_pcm_hw_rule *rule) rule 1012 sound/usb/pcm.c struct snd_pcm_hw_rule *rule) rule 1014 sound/usb/pcm.c struct snd_usb_substream *subs = rule->private; rule 1064 sound/usb/pcm.c struct snd_pcm_hw_rule *rule) rule 1066 sound/usb/pcm.c struct snd_usb_substream *subs = rule->private; rule 1115 sound/usb/pcm.c struct snd_pcm_hw_rule *rule) rule 1117 sound/usb/pcm.c struct snd_usb_substream *subs = rule->private; rule 1146 sound/usb/pcm.c struct snd_pcm_hw_rule *rule) rule 1148 sound/usb/pcm.c struct snd_usb_substream *subs = rule->private; rule 257 sound/xen/xen_snd_front_alsa.c struct snd_pcm_hw_rule *rule) rule 259 sound/xen/xen_snd_front_alsa.c struct xen_snd_front_pcm_stream_info *stream = rule->private;