Lines Matching defs:fri
1016 fib_find_matching_alias(struct net *net, const struct fib_rt_info *fri)
1018 u8 slen = KEYLENGTH - fri->dst_len;
1024 tb = fib_get_table(net, fri->tb_id);
1029 l = fib_find_node(t, &tp, be32_to_cpu(fri->dst));
1034 if (fa->fa_slen == slen && fa->tb_id == fri->tb_id &&
1035 fa->fa_dscp == fri->dscp && fa->fa_info == fri->fi &&
1036 fa->fa_type == fri->type)
1043 void fib_alias_hw_flags_set(struct net *net, const struct fib_rt_info *fri)
1052 fa_match = fib_find_matching_alias(net, fri);
1059 if (READ_ONCE(fa_match->offload) == fri->offload &&
1060 READ_ONCE(fa_match->trap) == fri->trap &&
1061 READ_ONCE(fa_match->offload_failed) == fri->offload_failed)
1064 WRITE_ONCE(fa_match->offload, fri->offload);
1065 WRITE_ONCE(fa_match->trap, fri->trap);
1071 READ_ONCE(fa_match->offload_failed) == fri->offload_failed)
1074 WRITE_ONCE(fa_match->offload_failed, fri->offload_failed);
1085 err = fib_dump_info(skb, 0, 0, RTM_NEWROUTE, fri, 0);
2312 struct fib_rt_info fri;
2314 fri.fi = fi;
2315 fri.tb_id = tb->tb_id;
2316 fri.dst = xkey;
2317 fri.dst_len = KEYLENGTH - fa->fa_slen;
2318 fri.dscp = fa->fa_dscp;
2319 fri.type = fa->fa_type;
2320 fri.offload = READ_ONCE(fa->offload);
2321 fri.trap = READ_ONCE(fa->trap);
2322 fri.offload_failed = READ_ONCE(fa->offload_failed);
2326 RTM_NEWROUTE, &fri, flags);