Lines Matching refs:rule
61 static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp, in fib6_rule_action() argument
67 struct net *net = rule->fr_net; in fib6_rule_action()
71 switch (rule->action) { in fib6_rule_action()
89 table = fib6_get_table(net, rule->table); in fib6_rule_action()
97 struct fib6_rule *r = (struct fib6_rule *)rule; in fib6_rule_action()
103 if ((rule->flags & FIB_RULE_FIND_SADDR) && in fib6_rule_action()
134 static bool fib6_rule_suppress(struct fib_rule *rule, struct fib_lookup_arg *arg) in fib6_rule_suppress() argument
145 if (rt->rt6i_dst.plen <= rule->suppress_prefixlen) in fib6_rule_suppress()
151 if (rule->suppress_ifgroup != -1 && dev && dev->group == rule->suppress_ifgroup) in fib6_rule_suppress()
161 static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) in fib6_rule_match() argument
163 struct fib6_rule *r = (struct fib6_rule *) rule; in fib6_rule_match()
194 static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, in fib6_rule_configure() argument
200 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_configure()
202 if (rule->action == FR_ACT_TO_TBL) { in fib6_rule_configure()
203 if (rule->table == RT6_TABLE_UNSPEC) in fib6_rule_configure()
206 if (fib6_new_table(net, rule->table) == NULL) { in fib6_rule_configure()
227 static int fib6_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, in fib6_rule_compare() argument
230 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_compare()
252 static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb, in fib6_rule_fill() argument
255 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_fill()
272 static size_t fib6_rule_nlmsg_payload(struct fib_rule *rule) in fib6_rule_nlmsg_payload() argument