Lines Matching refs:p_physp

60 void osm_physp_construct(IN osm_physp_t * p_physp)
62 memset(p_physp, 0, sizeof(*p_physp));
63 osm_dr_path_construct(&p_physp->dr_path);
64 cl_ptr_vector_construct(&p_physp->slvl_by_port);
65 osm_pkey_tbl_construct(&p_physp->pkeys);
68 void osm_physp_destroy(IN osm_physp_t * p_physp)
73 if (p_physp->port_guid) {
74 if (p_physp->p_guids)
75 free(p_physp->p_guids);
78 num_slvl = cl_ptr_vector_get_size(&p_physp->slvl_by_port);
80 free(cl_ptr_vector_get(&p_physp->slvl_by_port, i));
81 cl_ptr_vector_destroy(&p_physp->slvl_by_port);
84 osm_pkey_tbl_destroy(&p_physp->pkeys);
86 memset(p_physp, 0, sizeof(*p_physp));
87 osm_dr_path_construct(&p_physp->dr_path); /* clear dr_path */
91 void osm_physp_init(IN osm_physp_t * p_physp, IN ib_net64_t port_guid,
101 osm_physp_construct(p_physp);
102 p_physp->port_guid = port_guid;
103 p_physp->port_num = port_num;
104 p_physp->healthy = TRUE;
105 p_physp->need_update = 2;
106 p_physp->p_node = (struct osm_node *)p_node;
108 osm_dr_path_init(&p_physp->dr_path, hop_count, p_initial_path);
118 cl_ptr_vector_init(&p_physp->slvl_by_port, num_slvl, 1);
124 cl_ptr_vector_set(&p_physp->slvl_by_port, i, p_slvl);
128 osm_pkey_tbl_init(&p_physp->pkeys);
142 osm_physp_t *p_physp;
163 p_physp = osm_node_get_physp_ptr(p_parent_node, port_num);
164 if (!p_physp)
167 CL_ASSERT(port_guid == osm_physp_get_port_guid(p_physp));
168 p_port->p_physp = p_physp;
184 IN const osm_physp_t * p_physp,
193 p_remote_physp = osm_physp_get_remote(p_physp);
196 mtu = ib_port_info_get_mtu_cap(&p_physp->port_info);
217 cl_ntoh64(osm_physp_get_port_guid(p_physp)),
218 osm_physp_get_port_num(p_physp),
224 mtu = ib_port_info_get_neighbor_mtu(&p_physp->port_info);
238 IN const osm_physp_t * p_physp,
247 p_remote_physp = osm_physp_get_remote(p_physp);
250 op_vls = ib_port_info_get_vl_cap(&p_physp->port_info);
271 cl_ntoh64(osm_physp_get_port_guid(p_physp)),
272 osm_physp_get_port_num(p_physp),
278 op_vls = ib_port_info_get_op_vls(&p_physp->port_info);
322 osm_physp_t *p_physp;
348 p_physp = osm_node_get_physp_ptr(p_node, p_path->path[hop]);
351 if (!p_physp) {
361 cl_map_insert(p_physp_map, ptr_to_key(p_physp), NULL);
369 if (!(p_physp = osm_physp_get_remote(p_physp))) {
377 p_node = osm_physp_get_node_ptr(p_physp);
390 osm_physp_t *p_physp, *p_src_physp = NULL;
400 p_physp = (osm_physp_t *) cl_map_get(p_visited_map,
402 while (p_physp != NULL) {
403 cl_list_insert_head(&tmpPortsList, p_physp);
405 p_src_physp = p_physp;
406 p_physp = (osm_physp_t *) cl_map_get(p_visited_map,
407 ptr_to_key(p_physp));
408 /* if we reached a null p_physp - this means we are at the begining
410 if (p_physp == NULL)
413 p_physp = (osm_physp_t *) cl_map_get(p_visited_map,
414 ptr_to_key(p_physp));
418 p_physp = (osm_physp_t *) cl_list_remove_head(&tmpPortsList);
419 while (p_physp != NULL) {
421 path_array[i] = p_physp->port_num;
422 p_physp = (osm_physp_t *) cl_list_remove_head(&tmpPortsList);
445 osm_physp_t *p_physp, *p_remote_physp;
487 p_physp = p_port->p_physp;
489 CL_ASSERT(p_physp);
491 cl_list_insert_tail(p_nextPortsList, p_physp);
503 p_physp = (osm_physp_t *) cl_list_remove_head(p_currPortsList);
504 while (p_physp != NULL) {
507 num_ports = osm_node_get_num_physp(p_physp->p_node);
510 if (osm_node_get_type(p_physp->p_node) ==
513 osm_node_get_physp_ptr(p_physp->
520 p_physp->p_remote_physp;
530 p_remote_physp != p_physp &&
541 p_physp);
560 p_physp = (osm_physp_t *)
564 while (p_physp != NULL)
565 p_physp = (osm_physp_t *)
569 p_physp = (osm_physp_t *)
571 while (p_physp != NULL)
572 p_physp = (osm_physp_t *)
590 boolean_t osm_link_is_healthy(IN const osm_physp_t * p_physp)
594 CL_ASSERT(p_physp);
595 p_remote_physp = p_physp->p_remote_physp;
597 return ((p_physp->healthy) & (p_remote_physp->healthy));
603 IN osm_physp_t * p_physp,
616 if (!p_physp->p_node->sw || p_physp->port_num == 0)
622 (cl_ntoh16(p_physp->p_node->node_info.partition_cap) +
632 (cl_ntoh16(p_physp->p_node->sw->switch_info.enforce_cap) +
641 cl_ntoh64(p_physp->p_node->node_info.node_guid),
642 p_physp->port_num);
648 p_physp->pkeys.rcv_blocks_cnt--;
649 osm_pkey_tbl_set(&p_physp->pkeys, block_num, p_pkey_tbl,
672 void osm_physp_set_port_info(IN osm_physp_t * p_physp,
677 CL_ASSERT(osm_physp_is_valid(p_physp));
682 ib_port_info_set_port_state(&p_physp->port_info, IB_LINK_DOWN);
685 &p_physp->port_info);
687 p_physp->port_info = *p_pi;
693 if ((osm_node_get_type(p_physp->p_node) !=
694 IB_NODE_TYPE_SWITCH || p_physp->port_num == 0) &&
697 cl_ntoh64(p_physp->port_guid),