NPF_RULE_LAYER_3
attr = NPF_RULE_PASS | NPF_RULE_FINAL | NPF_RULE_LAYER_3 |
rl = npf_ruleset_inspect(&npc, rlset, di, NPF_RULE_LAYER_3);
rl = npf_ruleset_inspect(npc, rlset, di, NPF_RULE_LAYER_3);
if (!(((layer == NPF_RULE_LAYER_3 && ((attr & (NPF_RULE_LAYER_2 | NPF_RULE_LAYER_3)) == 0)) ||
bm = (layer & NPF_RULE_LAYER_3) ? BM_SRC_NEG : BM_SRC_ENEG;
bm = (layer & NPF_RULE_LAYER_3) ? BM_DST_NEG : BM_DST_ENEG;
bm_invert_checkpoint(ctx, opts, NPF_RULE_LAYER_3);
bm_invert_checkpoint(ctx, opts, NPF_RULE_LAYER_3);
imfopts.layer = NPF_RULE_LAYER_3;
imfopts.layer = NPF_RULE_LAYER_3;
if (layer == NPF_RULE_LAYER_3) {
else if (lattr & NPF_RULE_LAYER_3)
if (attr & NPF_RULE_LAYER_3) {
.layer = NPF_RULE_LAYER_3,
fopts.layer = NPF_RULE_LAYER_3;
| { $$ = NPF_RULE_LAYER_3; } /* ret layer3 by default */
} else if (attr & NPF_RULE_LAYER_3) {
if (attr == (NPF_RULE_GROUP | NPF_RULE_IN | NPF_RULE_OUT | NPF_RULE_LAYER_3) && !ifname) {
npc = get_cached_pkt(m, NULL, NPF_RULE_LAYER_3);
npf_cache_t *npc = get_cached_pkt(m, NULL, NPF_RULE_LAYER_3);
if (layer & NPF_RULE_LAYER_3)
npc = get_cached_pkt(m, t->ifname, NPF_RULE_LAYER_3);
rl = npf_ruleset_inspect(npc, npf_config_ruleset(npf), t->di, NPF_RULE_LAYER_3);
npc = get_cached_pkt(m, t->ifname, NPF_RULE_LAYER_3);
rl = npf_ruleset_inspect(npc, npf_config_ruleset(npf), t->di, NPF_RULE_LAYER_3);
npc = get_cached_pkt(construct_packet(p), NULL, NPF_RULE_LAYER_3);