Lines Matching refs:fib_node
392 prestera_fib_node_util_is_neighbour(struct prestera_fib_node *fib_node) in prestera_fib_node_util_is_neighbour() argument
394 if (fib_node->info.type != PRESTERA_FIB_TYPE_UC_NH) in prestera_fib_node_util_is_neighbour()
397 if (fib_node->info.nh_grp->nh_neigh_head[1].neigh) in prestera_fib_node_util_is_neighbour()
400 if (!fib_node->info.nh_grp->nh_neigh_head[0].neigh) in prestera_fib_node_util_is_neighbour()
403 if (memcmp(&fib_node->info.nh_grp->nh_neigh_head[0].neigh->key.addr, in prestera_fib_node_util_is_neighbour()
404 &fib_node->key.addr, sizeof(struct prestera_ip_addr))) in prestera_fib_node_util_is_neighbour()
731 struct prestera_fib_node *fib_node; in __prestera_k_arb_n_lpm_set() local
750 fib_node = prestera_fib_node_find(sw, &fib_key); in __prestera_k_arb_n_lpm_set()
752 if (!enabled && fib_node) { in __prestera_k_arb_n_lpm_set()
753 if (prestera_fib_node_util_is_neighbour(fib_node)) in __prestera_k_arb_n_lpm_set()
754 prestera_fib_node_destroy(sw, fib_node); in __prestera_k_arb_n_lpm_set()
759 if (enabled && !fib_node) { in __prestera_k_arb_n_lpm_set()
763 fib_node = prestera_fib_node_create(sw, &fib_key, in __prestera_k_arb_n_lpm_set()
766 if (!fib_node) in __prestera_k_arb_n_lpm_set()
933 struct prestera_fib_node *fib_node; in __prestera_k_arb_f_lpm_set() local
935 fib_node = prestera_fib_node_find(sw, &fc->lpm_info.fib_key); in __prestera_k_arb_f_lpm_set()
936 if (fib_node) in __prestera_k_arb_f_lpm_set()
937 prestera_fib_node_destroy(sw, fib_node); in __prestera_k_arb_f_lpm_set()
942 fib_node = prestera_fib_node_create(sw, &fc->lpm_info.fib_key, in __prestera_k_arb_f_lpm_set()
946 if (!fib_node) { in __prestera_k_arb_f_lpm_set()