Lines Matching refs:new_fa
1172 struct fib_alias *fa, *new_fa;
1251 new_fa = kmem_cache_alloc(fn_alias_kmem, GFP_KERNEL);
1252 if (!new_fa)
1256 new_fa->fa_tos = fa->fa_tos;
1257 new_fa->fa_info = fi;
1258 new_fa->fa_type = cfg->fc_type;
1260 new_fa->fa_state = state & ~FA_S_ACCESSED;
1261 new_fa->fa_slen = fa->fa_slen;
1262 new_fa->tb_id = tb->tb_id;
1263 new_fa->fa_default = -1;
1264 new_fa->offload = 0;
1265 new_fa->trap = 0;
1267 hlist_replace_rcu(&fa->fa_list, &new_fa->fa_list);
1270 tb->tb_id, true) == new_fa) {
1276 new_fa, extack);
1278 hlist_replace_rcu(&new_fa->fa_list,
1284 rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen,
1313 new_fa = kmem_cache_alloc(fn_alias_kmem, GFP_KERNEL);
1314 if (!new_fa)
1317 new_fa->fa_info = fi;
1318 new_fa->fa_tos = tos;
1319 new_fa->fa_type = cfg->fc_type;
1320 new_fa->fa_state = 0;
1321 new_fa->fa_slen = slen;
1322 new_fa->tb_id = tb->tb_id;
1323 new_fa->fa_default = -1;
1324 new_fa->offload = 0;
1325 new_fa->trap = 0;
1328 err = fib_insert_alias(t, tp, l, new_fa, fa, key);
1339 if (fib_find_alias(&l->leaf, new_fa->fa_slen, 0, 0, tb->tb_id, true) ==
1340 new_fa) {
1345 new_fa, extack);
1354 rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, new_fa->tb_id,
1360 fib_remove_alias(t, tp, l, new_fa);
1362 kmem_cache_free(fn_alias_kmem, new_fa);
1871 struct fib_alias *new_fa;
1877 new_fa = kmem_cache_alloc(fn_alias_kmem, GFP_KERNEL);
1878 if (!new_fa)
1881 memcpy(new_fa, fa, sizeof(*fa));
1887 if (fib_insert_alias(lt, local_tp, local_l, new_fa,
1889 kmem_cache_free(fn_alias_kmem, new_fa);