basechain 1208 include/net/netfilter/nf_tables.h const struct nft_base_chain *basechain; basechain 1219 include/net/netfilter/nf_tables.h const struct nft_chain *basechain); basechain 78 include/net/netfilter/nf_tables_offload.h int nft_chain_offload_priority(struct nft_base_chain *basechain); basechain 160 net/netfilter/nf_tables_api.c const struct nft_base_chain *basechain; basechain 167 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); basechain 168 net/netfilter/nf_tables_api.c ops = &basechain->ops; basechain 170 net/netfilter/nf_tables_api.c if (basechain->type->ops_register) basechain 171 net/netfilter/nf_tables_api.c return basechain->type->ops_register(net, ops); basechain 180 net/netfilter/nf_tables_api.c const struct nft_base_chain *basechain; basechain 186 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); basechain 187 net/netfilter/nf_tables_api.c ops = &basechain->ops; basechain 189 net/netfilter/nf_tables_api.c if (basechain->type->ops_unregister) basechain 190 net/netfilter/nf_tables_api.c return basechain->type->ops_unregister(net, ops); basechain 1284 net/netfilter/nf_tables_api.c const struct nft_base_chain *basechain = nft_base_chain(chain); basechain 1285 net/netfilter/nf_tables_api.c const struct nf_hook_ops *ops = &basechain->ops; basechain 1296 net/netfilter/nf_tables_api.c if (basechain->dev_name[0] && basechain 1297 net/netfilter/nf_tables_api.c nla_put_string(skb, NFTA_HOOK_DEV, basechain->dev_name)) basechain 1302 net/netfilter/nf_tables_api.c htonl(basechain->policy))) basechain 1305 net/netfilter/nf_tables_api.c if (nla_put_string(skb, NFTA_CHAIN_TYPE, basechain->type->name)) basechain 1308 net/netfilter/nf_tables_api.c stats = rcu_dereference_check(basechain->stats, basechain 1530 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain = nft_base_chain(chain); basechain 1532 net/netfilter/nf_tables_api.c module_put(basechain->type->owner); basechain 1533 net/netfilter/nf_tables_api.c if (rcu_access_pointer(basechain->stats)) { basechain 1535 net/netfilter/nf_tables_api.c free_percpu(rcu_dereference_raw(basechain->stats)); basechain 1538 net/netfilter/nf_tables_api.c kfree(basechain); basechain 1655 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain; basechain 1674 net/netfilter/nf_tables_api.c basechain = kzalloc(sizeof(*basechain), GFP_KERNEL); basechain 1675 net/netfilter/nf_tables_api.c if (basechain == NULL) { basechain 1681 net/netfilter/nf_tables_api.c strncpy(basechain->dev_name, hook.dev->name, IFNAMSIZ); basechain 1687 net/netfilter/nf_tables_api.c kfree(basechain); basechain 1690 net/netfilter/nf_tables_api.c rcu_assign_pointer(basechain->stats, stats); basechain 1694 net/netfilter/nf_tables_api.c basechain->type = hook.type; basechain 1695 net/netfilter/nf_tables_api.c chain = &basechain->chain; basechain 1697 net/netfilter/nf_tables_api.c ops = &basechain->ops; basechain 1706 net/netfilter/nf_tables_api.c basechain->policy = NF_ACCEPT; basechain 1708 net/netfilter/nf_tables_api.c nft_chain_offload_priority(basechain) < 0) basechain 1711 net/netfilter/nf_tables_api.c flow_block_init(&basechain->flow_block); basechain 1777 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain; basechain 1796 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); basechain 1797 net/netfilter/nf_tables_api.c if (basechain->type != hook.type) { basechain 1802 net/netfilter/nf_tables_api.c ops = &basechain->ops; basechain 6494 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain; basechain 6502 net/netfilter/nf_tables_api.c basechain = nft_base_chain(trans->ctx.chain); basechain 6503 net/netfilter/nf_tables_api.c basechain->policy = NF_DROP; basechain 6508 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain; basechain 6526 net/netfilter/nf_tables_api.c basechain = nft_base_chain(trans->ctx.chain); basechain 6531 net/netfilter/nf_tables_api.c basechain->policy = nft_trans_chain_policy(trans); basechain 7187 net/netfilter/nf_tables_api.c const struct nft_base_chain *basechain; basechain 7190 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); basechain 7191 net/netfilter/nf_tables_api.c if (basechain->type->type != type) basechain 7201 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain; basechain 7204 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); basechain 7206 net/netfilter/nf_tables_api.c if ((1 << basechain->ops.hooknum) & hook_flags) basechain 151 net/netfilter/nf_tables_core.c const struct nft_chain *chain = priv, *basechain = chain; basechain 164 net/netfilter/nf_tables_core.c nft_trace_init(&info, pkt, ®s.verdict, basechain); basechain 239 net/netfilter/nf_tables_core.c nft_trace_packet(&info, basechain, NULL, NFT_TRACETYPE_POLICY); basechain 242 net/netfilter/nf_tables_core.c nft_update_chain_stats(basechain, pkt); basechain 244 net/netfilter/nf_tables_core.c return nft_base_chain(basechain)->policy; basechain 138 net/netfilter/nf_tables_offload.c static int nft_setup_cb_call(struct nft_base_chain *basechain, basechain 144 net/netfilter/nf_tables_offload.c list_for_each_entry(block_cb, &basechain->flow_block.cb_list, list) { basechain 152 net/netfilter/nf_tables_offload.c int nft_chain_offload_priority(struct nft_base_chain *basechain) basechain 154 net/netfilter/nf_tables_offload.c if (basechain->ops.priority <= 0 || basechain 155 net/netfilter/nf_tables_offload.c basechain->ops.priority > USHRT_MAX) basechain 167 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain; basechain 174 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); basechain 180 net/netfilter/nf_tables_offload.c basechain->ops.priority, &extack); basechain 186 net/netfilter/nf_tables_offload.c return nft_setup_cb_call(basechain, TC_SETUP_CLSFLOWER, &cls_flow); basechain 190 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain) basechain 192 net/netfilter/nf_tables_offload.c list_splice(&bo->cb_list, &basechain->flow_block.cb_list); basechain 197 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain) basechain 209 net/netfilter/nf_tables_offload.c static int nft_block_setup(struct nft_base_chain *basechain, basechain 217 net/netfilter/nf_tables_offload.c err = nft_flow_offload_bind(bo, basechain); basechain 220 net/netfilter/nf_tables_offload.c err = nft_flow_offload_unbind(bo, basechain); basechain 304 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain; basechain 311 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); basechain 312 net/netfilter/nf_tables_offload.c dev = basechain->ops.dev; basechain 316 net/netfilter/nf_tables_offload.c policy = ppolicy ? *ppolicy : basechain->policy; basechain 323 net/netfilter/nf_tables_offload.c return nft_block_offload_cmd(basechain, dev, cmd); basechain 325 net/netfilter/nf_tables_offload.c return nft_indr_block_offload_cmd(basechain, dev, cmd); basechain 406 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain; basechain 420 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); basechain 421 net/netfilter/nf_tables_offload.c if (strncmp(basechain->dev_name, dev->name, IFNAMSIZ)) basechain 441 net/netfilter/nf_tables_offload.c struct nft_base_chain *basechain; basechain 443 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); basechain 444 net/netfilter/nf_tables_offload.c nft_indr_block_ing_cmd(dev, basechain, cb, cb_priv, cmd); basechain 227 net/netfilter/nf_tables_trace.c nfmsg->nfgen_family = info->basechain->type->family; basechain 260 net/netfilter/nf_tables_trace.c htonl(info->basechain->policy))) basechain 291 net/netfilter/nf_tables_trace.c info->basechain = nft_base_chain(chain); basechain 289 net/netfilter/nft_chain_filter.c struct nft_base_chain *basechain = nft_base_chain(ctx->chain); basechain 293 net/netfilter/nft_chain_filter.c if (strcmp(basechain->dev_name, dev->name) != 0) basechain 306 net/netfilter/nft_chain_filter.c if (dev->ifindex != basechain->ops.dev->ifindex) basechain 309 net/netfilter/nft_chain_filter.c strncpy(basechain->dev_name, dev->name, IFNAMSIZ); basechain 35 net/netfilter/nft_compat.c const struct nft_base_chain *basechain; basechain 41 net/netfilter/nft_compat.c basechain = nft_base_chain(chain); basechain 45 net/netfilter/nft_compat.c if (basechain->type->type != type) basechain 165 net/netfilter/nft_compat.c const struct nft_base_chain *basechain = basechain 167 net/netfilter/nft_compat.c const struct nf_hook_ops *ops = &basechain->ops; basechain 313 net/netfilter/nft_compat.c const struct nft_base_chain *basechain = basechain 315 net/netfilter/nft_compat.c const struct nf_hook_ops *ops = &basechain->ops; basechain 409 net/netfilter/nft_compat.c const struct nft_base_chain *basechain = basechain 411 net/netfilter/nft_compat.c const struct nf_hook_ops *ops = &basechain->ops; basechain 554 net/netfilter/nft_compat.c const struct nft_base_chain *basechain = basechain 556 net/netfilter/nft_compat.c const struct nf_hook_ops *ops = &basechain->ops;