nlrule 466 net/core/fib_rules.c static int fib_nl2rule_l3mdev(struct nlattr *nla, struct fib_rule *nlrule, nlrule 469 net/core/fib_rules.c nlrule->l3mdev = nla_get_u8(nla); nlrule 470 net/core/fib_rules.c if (nlrule->l3mdev != 1) { nlrule 478 net/core/fib_rules.c static int fib_nl2rule_l3mdev(struct nlattr *nla, struct fib_rule *nlrule, nlrule 495 net/core/fib_rules.c struct fib_rule *nlrule = NULL; nlrule 514 net/core/fib_rules.c nlrule = kzalloc(ops->rule_size, GFP_KERNEL); nlrule 515 net/core/fib_rules.c if (!nlrule) { nlrule 519 net/core/fib_rules.c refcount_set(&nlrule->refcnt, 1); nlrule 520 net/core/fib_rules.c nlrule->fr_net = net; nlrule 523 net/core/fib_rules.c nlrule->pref = nla_get_u32(tb[FRA_PRIORITY]); nlrule 526 net/core/fib_rules.c nlrule->pref = fib_default_rule_pref(ops); nlrule 529 net/core/fib_rules.c nlrule->proto = tb[FRA_PROTOCOL] ? nlrule 535 net/core/fib_rules.c nlrule->iifindex = -1; nlrule 536 net/core/fib_rules.c nla_strlcpy(nlrule->iifname, tb[FRA_IIFNAME], IFNAMSIZ); nlrule 537 net/core/fib_rules.c dev = __dev_get_by_name(net, nlrule->iifname); nlrule 539 net/core/fib_rules.c nlrule->iifindex = dev->ifindex; nlrule 545 net/core/fib_rules.c nlrule->oifindex = -1; nlrule 546 net/core/fib_rules.c nla_strlcpy(nlrule->oifname, tb[FRA_OIFNAME], IFNAMSIZ); nlrule 547 net/core/fib_rules.c dev = __dev_get_by_name(net, nlrule->oifname); nlrule 549 net/core/fib_rules.c nlrule->oifindex = dev->ifindex; nlrule 553 net/core/fib_rules.c nlrule->mark = nla_get_u32(tb[FRA_FWMARK]); nlrule 554 net/core/fib_rules.c if (nlrule->mark) nlrule 558 net/core/fib_rules.c nlrule->mark_mask = 0xFFFFFFFF; nlrule 562 net/core/fib_rules.c nlrule->mark_mask = nla_get_u32(tb[FRA_FWMASK]); nlrule 565 net/core/fib_rules.c nlrule->tun_id = nla_get_be64(tb[FRA_TUN_ID]); nlrule 569 net/core/fib_rules.c fib_nl2rule_l3mdev(tb[FRA_L3MDEV], nlrule, extack) < 0) nlrule 572 net/core/fib_rules.c nlrule->action = frh->action; nlrule 573 net/core/fib_rules.c nlrule->flags = frh->flags; nlrule 574 net/core/fib_rules.c nlrule->table = frh_get_table(frh, tb); nlrule 576 net/core/fib_rules.c nlrule->suppress_prefixlen = nla_get_u32(tb[FRA_SUPPRESS_PREFIXLEN]); nlrule 578 net/core/fib_rules.c nlrule->suppress_prefixlen = -1; nlrule 581 net/core/fib_rules.c nlrule->suppress_ifgroup = nla_get_u32(tb[FRA_SUPPRESS_IFGROUP]); nlrule 583 net/core/fib_rules.c nlrule->suppress_ifgroup = -1; nlrule 586 net/core/fib_rules.c if (nlrule->action != FR_ACT_GOTO) { nlrule 591 net/core/fib_rules.c nlrule->target = nla_get_u32(tb[FRA_GOTO]); nlrule 593 net/core/fib_rules.c if (nlrule->target <= nlrule->pref) { nlrule 597 net/core/fib_rules.c } else if (nlrule->action == FR_ACT_GOTO) { nlrule 602 net/core/fib_rules.c if (nlrule->l3mdev && nlrule->table) { nlrule 614 net/core/fib_rules.c nlrule->uid_range = nla_get_kuid_range(tb); nlrule 616 net/core/fib_rules.c if (!uid_range_set(&nlrule->uid_range) || nlrule 617 net/core/fib_rules.c !uid_lte(nlrule->uid_range.start, nlrule->uid_range.end)) { nlrule 622 net/core/fib_rules.c nlrule->uid_range = fib_kuid_range_unset; nlrule 626 net/core/fib_rules.c nlrule->ip_proto = nla_get_u8(tb[FRA_IP_PROTO]); nlrule 630 net/core/fib_rules.c &nlrule->sport_range); nlrule 639 net/core/fib_rules.c &nlrule->dport_range); nlrule 646 net/core/fib_rules.c *rule = nlrule; nlrule 651 net/core/fib_rules.c kfree(nlrule); nlrule 837 net/core/fib_rules.c struct fib_rule *rule = NULL, *r, *nlrule = NULL; nlrule 861 net/core/fib_rules.c err = fib_nl2rule(skb, nlh, extack, ops, tb, &nlrule, &user_priority); nlrule 865 net/core/fib_rules.c rule = rule_find(ops, frh, tb, nlrule, user_priority); nlrule 922 net/core/fib_rules.c kfree(nlrule); nlrule 926 net/core/fib_rules.c kfree(nlrule);