Lines Matching refs:rule
50 static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp, in fib6_rule_action() argument
56 struct net *net = rule->fr_net; in fib6_rule_action()
60 switch (rule->action) { in fib6_rule_action()
78 table = fib6_get_table(net, rule->table); in fib6_rule_action()
86 struct fib6_rule *r = (struct fib6_rule *)rule; in fib6_rule_action()
92 if ((rule->flags & FIB_RULE_FIND_SADDR) && in fib6_rule_action()
123 static bool fib6_rule_suppress(struct fib_rule *rule, struct fib_lookup_arg *arg) in fib6_rule_suppress() argument
134 if (rt->rt6i_dst.plen <= rule->suppress_prefixlen) in fib6_rule_suppress()
140 if (rule->suppress_ifgroup != -1 && dev && dev->group == rule->suppress_ifgroup) in fib6_rule_suppress()
150 static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) in fib6_rule_match() argument
152 struct fib6_rule *r = (struct fib6_rule *) rule; in fib6_rule_match()
183 static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, in fib6_rule_configure() argument
189 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_configure()
191 if (rule->action == FR_ACT_TO_TBL) { in fib6_rule_configure()
192 if (rule->table == RT6_TABLE_UNSPEC) in fib6_rule_configure()
195 if (fib6_new_table(net, rule->table) == NULL) { in fib6_rule_configure()
216 static int fib6_rule_compare(struct fib_rule *rule, struct fib_rule_hdr *frh, in fib6_rule_compare() argument
219 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_compare()
241 static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb, in fib6_rule_fill() argument
244 struct fib6_rule *rule6 = (struct fib6_rule *) rule; in fib6_rule_fill()
266 static size_t fib6_rule_nlmsg_payload(struct fib_rule *rule) in fib6_rule_nlmsg_payload() argument