Lines Matching defs:frh

417 				  struct fib_rule_hdr *frh,
486 if (!ops->compare(r, frh, tb))
523 struct fib_rule_hdr *frh = nlmsg_data(nlh);
527 if (frh->src_len)
529 frh->src_len > (ops->addr_size * 8) ||
535 if (frh->dst_len)
537 frh->dst_len > (ops->addr_size * 8) ||
600 nlrule->action = frh->action;
601 nlrule->flags = frh->flags;
602 nlrule->table = frh_get_table(frh, tb);
684 static int rule_exists(struct fib_rules_ops *ops, struct fib_rule_hdr *frh,
744 if (!ops->compare(r, frh, tb))
776 struct fib_rule_hdr *frh = nlmsg_data(nlh);
783 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) {
788 ops = lookup_rules_ops(net, frh->family);
795 err = nlmsg_parse_deprecated(nlh, sizeof(*frh), tb, FRA_MAX,
807 rule_exists(ops, frh, tb, rule)) {
812 err = ops->configure(rule, skb, frh, tb, extack);
884 struct fib_rule_hdr *frh = nlmsg_data(nlh);
891 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) {
896 ops = lookup_rules_ops(net, frh->family);
903 err = nlmsg_parse_deprecated(nlh, sizeof(*frh), tb, FRA_MAX,
914 rule = rule_find(ops, frh, tb, nlrule, user_priority);
1011 struct fib_rule_hdr *frh;
1013 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*frh), flags);
1017 frh = nlmsg_data(nlh);
1018 frh->family = ops->family;
1019 frh->table = rule->table < 256 ? rule->table : RT_TABLE_COMPAT;
1024 frh->res1 = 0;
1025 frh->res2 = 0;
1026 frh->action = rule->action;
1027 frh->flags = rule->flags;
1034 frh->flags |= FIB_RULE_UNRESOLVED;
1040 frh->flags |= FIB_RULE_IIF_DETACHED;
1047 frh->flags |= FIB_RULE_OIF_DETACHED;
1076 if (ops->fill(rule, skb, frh) < 0)
1117 struct fib_rule_hdr *frh;
1119 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) {
1124 frh = nlmsg_data(nlh);
1125 if (frh->dst_len || frh->src_len || frh->tos || frh->table ||
1126 frh->res1 || frh->res2 || frh->action || frh->flags) {
1132 if (nlmsg_attrlen(nlh, sizeof(*frh))) {