Lines Matching refs:key

28 	struct prestera_kern_neigh_cache_key key;  member
47 struct prestera_kern_fib_cache_key key; member
68 .key_offset = offsetof(struct prestera_kern_neigh_cache, key),
75 .key_offset = offsetof(struct prestera_kern_fib_cache, key),
94 struct prestera_kern_fib_cache_key *key) in prestera_util_fen_info2fib_cache_key() argument
99 memset(key, 0, sizeof(*key)); in prestera_util_fen_info2fib_cache_key()
100 key->addr.v = PRESTERA_IPV4; in prestera_util_fen_info2fib_cache_key()
101 key->addr.u.ipv4 = cpu_to_be32(fen_info->dst); in prestera_util_fen_info2fib_cache_key()
102 key->prefix_len = fen_info->dst_len; in prestera_util_fen_info2fib_cache_key()
103 key->kern_tb_id = fen_info->tb_id; in prestera_util_fen_info2fib_cache_key()
152 struct prestera_kern_neigh_cache_key *key) in prestera_util_neigh2nc_key() argument
154 memset(key, 0, sizeof(*key)); in prestera_util_neigh2nc_key()
156 key->addr.v = PRESTERA_IPV4; in prestera_util_neigh2nc_key()
157 key->addr.u.ipv4 = *(__be32 *)n->primary_key; in prestera_util_neigh2nc_key()
162 key->dev = n->dev; in prestera_util_neigh2nc_key()
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()
453 struct prestera_kern_neigh_cache_key *key) in prestera_kern_neigh_cache_find() argument
458 rhashtable_lookup_fast(&sw->router->kern_neigh_cache_ht, key, in prestera_kern_neigh_cache_find()
467 dev_put(n_cache->key.dev); in __prestera_kern_neigh_cache_destruct()
483 struct prestera_kern_neigh_cache_key *key) in __prestera_kern_neigh_cache_create() argument
492 memcpy(&n_cache->key, key, sizeof(*key)); in __prestera_kern_neigh_cache_create()
493 dev_hold(n_cache->key.dev); in __prestera_kern_neigh_cache_create()
505 dev_put(n_cache->key.dev); in __prestera_kern_neigh_cache_create()
513 struct prestera_kern_neigh_cache_key *key) in prestera_kern_neigh_cache_get() argument
517 n_cache = prestera_kern_neigh_cache_find(sw, key); in prestera_kern_neigh_cache_get()
519 n_cache = __prestera_kern_neigh_cache_create(sw, key); in prestera_kern_neigh_cache_get()
539 struct prestera_kern_fib_cache_key *key) in prestera_kern_fib_cache_find() argument
544 rhashtable_lookup_fast(&sw->router->kern_fib_cache_ht, key, in prestera_kern_fib_cache_find()
618 struct prestera_kern_fib_cache_key *key, in prestera_kern_fib_cache_create() argument
630 memcpy(&fib_cache->key, key, sizeof(*key)); in prestera_kern_fib_cache_create()
672 if (prestera_util_nhc_eq_n_cache_key(sw, nhc, &nc->key)) { in __prestera_k_arb_fib_nh_offload_set()
686 n = neigh_lookup(&arp_tbl, &nc->key.addr.u.ipv4, in __prestera_k_arb_n_offload_set()
687 nc->key.dev); in __prestera_k_arb_n_offload_set()
702 switch (fc->key.addr.v) { in __prestera_k_arb_fib_lpm_offload_set()
705 fri.tb_id = fc->key.kern_tb_id; in __prestera_k_arb_fib_lpm_offload_set()
706 fri.dst = fc->key.addr.u.ipv4; in __prestera_k_arb_fib_lpm_offload_set()
707 fri.dst_len = fc->key.prefix_len; in __prestera_k_arb_fib_lpm_offload_set()
736 fc_key.addr = n_cache->key.addr; in __prestera_k_arb_n_lpm_set()
737 fc_key.prefix_len = PRESTERA_IP_ADDR_PLEN(n_cache->key.addr.v); in __prestera_k_arb_n_lpm_set()
744 fc_key.kern_tb_id = l3mdev_fib_table(n_cache->key.dev); in __prestera_k_arb_n_lpm_set()
747 fib_key.addr = n_cache->key.addr; in __prestera_k_arb_n_lpm_set()
748 fib_key.prefix_len = PRESTERA_IP_ADDR_PLEN(n_cache->key.addr.v); in __prestera_k_arb_n_lpm_set()
761 prestera_util_nc_key2nh_key(&n_cache->key, in __prestera_k_arb_n_lpm_set()
777 if (prestera_util_kern_n_is_reachable(l3mdev_fib_table(nc->key.dev), in __prestera_k_arb_nc_kern_fib_fetch()
778 &nc->key.addr, nc->key.dev)) in __prestera_k_arb_nc_kern_fib_fetch()
793 n = neigh_lookup(&arp_tbl, &nc->key.addr.u.ipv4, nc->key.dev); in __prestera_k_arb_nc_kern_n_fetch()
828 prestera_util_nc_key2nh_key(&nc->key, &nh_key); in __prestera_k_arb_nc_apply()
842 &nh_neigh->key.addr.u.ipv4, in __prestera_k_arb_nc_apply()
868 fc->key.prefix_len == in __prestera_pr_k_arb_fc_lpm_info_calc()
869 PRESTERA_IP_ADDR_PLEN(fc->key.addr.v)) { in __prestera_pr_k_arb_fc_lpm_info_calc()
880 fc->key.addr; in __prestera_pr_k_arb_fc_lpm_info_calc()
896 fc->kern_neigh_cache_head[nh_cnt].n_cache->key.addr; in __prestera_pr_k_arb_fc_lpm_info_calc()
898 fc->kern_neigh_cache_head[nh_cnt].n_cache->key.dev; in __prestera_pr_k_arb_fc_lpm_info_calc()
922 fc->lpm_info.fib_key.addr = fc->key.addr; in __prestera_pr_k_arb_fc_lpm_info_calc()
923 fc->lpm_info.fib_key.prefix_len = fc->key.prefix_len; in __prestera_pr_k_arb_fc_lpm_info_calc()
924 fc->lpm_info.fib_key.tb_id = prestera_fix_tb_id(fc->key.kern_tb_id); in __prestera_pr_k_arb_fc_lpm_info_calc()
948 &fc->key.addr.u.ipv4, fc->key.prefix_len, in __prestera_k_arb_f_lpm_set()
949 fc->key.kern_tb_id); in __prestera_k_arb_f_lpm_set()
1001 if (fc->key.kern_tb_id == RT_TABLE_LOCAL) { in __prestera_k_arb_util_fib_overlaps()
1002 memcpy(&fc_key, &fc->key, sizeof(fc_key)); in __prestera_k_arb_util_fib_overlaps()
1019 if (fc->key.kern_tb_id == RT_TABLE_MAIN) { in __prestera_k_arb_util_fib_overlapped()
1020 memcpy(&fc_key, &fc->key, sizeof(fc_key)); in __prestera_k_arb_util_fib_overlapped()
1036 prestera_util_nc_key2nh_key(&nc->key, &nh_key); in __prestera_k_arb_hw_state_upd()
1040 &nc->key.addr.u.ipv4); in __prestera_k_arb_hw_state_upd()
1054 if (nc->key.addr.v == PRESTERA_IPV4) { in __prestera_k_arb_hw_state_upd()
1055 n = neigh_lookup(&arp_tbl, &nc->key.addr.u.ipv4, in __prestera_k_arb_hw_state_upd()
1056 nc->key.dev); in __prestera_k_arb_hw_state_upd()
1058 n = neigh_create(&arp_tbl, &nc->key.addr.u.ipv4, in __prestera_k_arb_hw_state_upd()
1059 nc->key.dev); in __prestera_k_arb_hw_state_upd()
1068 pr_err("Cannot create neighbour %pI4n", &nc->key.addr.u.ipv4); in __prestera_k_arb_hw_state_upd()