Lines Matching refs:rule4
142 struct fib4_rule *rule4 = (struct fib4_rule *) rule;
162 rule4->src = nla_get_be32(tb[FRA_SRC]);
165 rule4->dst = nla_get_be32(tb[FRA_DST]);
169 rule4->tclassid = nla_get_u32(tb[FRA_FLOW]);
172 rule4->src_len = frh->src_len;
173 rule4->srcmask = inet_make_mask(rule4->src_len);
174 rule4->dst_len = frh->dst_len;
175 rule4->dstmask = inet_make_mask(rule4->dst_len);
176 rule4->tos = frh->tos;
186 struct fib4_rule *rule4 = (struct fib4_rule *) rule;
188 if (frh->src_len && (rule4->src_len != frh->src_len))
191 if (frh->dst_len && (rule4->dst_len != frh->dst_len))
194 if (frh->tos && (rule4->tos != frh->tos))
198 if (tb[FRA_FLOW] && (rule4->tclassid != nla_get_u32(tb[FRA_FLOW])))
202 if (frh->src_len && (rule4->src != nla_get_be32(tb[FRA_SRC])))
205 if (frh->dst_len && (rule4->dst != nla_get_be32(tb[FRA_DST])))
214 struct fib4_rule *rule4 = (struct fib4_rule *) rule;
216 frh->dst_len = rule4->dst_len;
217 frh->src_len = rule4->src_len;
218 frh->tos = rule4->tos;
220 if (rule4->dst_len)
221 NLA_PUT_BE32(skb, FRA_DST, rule4->dst);
223 if (rule4->src_len)
224 NLA_PUT_BE32(skb, FRA_SRC, rule4->src);
227 if (rule4->tclassid)
228 NLA_PUT_U32(skb, FRA_FLOW, rule4->tclassid);