Lines Matching defs:smp

46 enum smi_action smi_handle_dr_smp_send(struct ib_smp *smp,
51 hop_ptr = smp->hop_ptr;
52 hop_cnt = smp->hop_cnt;
59 if (!ib_get_smp_direction(smp)) {
62 smp->hop_ptr++;
63 return (smp->initial_path[smp->hop_ptr] ==
72 /* smp->return_path set when received */
73 smp->hop_ptr++;
74 return (smp->initial_path[smp->hop_ptr] ==
80 /* smp->return_path set when received */
81 smp->hop_ptr++;
83 smp->dr_dlid == IB_LID_PERMISSIVE ?
94 smp->hop_ptr--;
95 return (smp->return_path[smp->hop_ptr] ==
104 smp->hop_ptr--;
105 return (smp->return_path[smp->hop_ptr] ==
111 smp->hop_ptr--;
114 smp->dr_slid == IB_LID_PERMISSIVE ?
131 enum smi_action smi_handle_dr_smp_recv(struct ib_smp *smp, u8 node_type,
136 hop_ptr = smp->hop_ptr;
137 hop_cnt = smp->hop_cnt;
144 if (!ib_get_smp_direction(smp)) {
154 smp->return_path[hop_ptr] = port_num;
155 /* smp->hop_ptr updated when sending */
156 return (smp->initial_path[hop_ptr+1] <= phys_port_cnt ?
163 smp->return_path[hop_ptr] = port_num;
164 /* smp->hop_ptr updated when sending */
167 smp->dr_dlid == IB_LID_PERMISSIVE ?
179 smp->hop_ptr--;
180 return (smp->return_path[smp->hop_ptr] ==
189 /* smp->hop_ptr updated when sending */
190 return (smp->return_path[hop_ptr-1] <= phys_port_cnt ?
196 if (smp->dr_slid == IB_LID_PERMISSIVE) {
198 smp->hop_ptr--;
201 /* smp->hop_ptr updated when sending */
212 enum smi_forward_action smi_check_forward_dr_smp(struct ib_smp *smp)
216 hop_ptr = smp->hop_ptr;
217 hop_cnt = smp->hop_cnt;
219 if (!ib_get_smp_direction(smp)) {
226 return (smp->dr_dlid == IB_LID_PERMISSIVE ?
239 return (smp->dr_slid != IB_LID_PERMISSIVE ?
249 int smi_get_fwd_port(struct ib_smp *smp)
251 return (!ib_get_smp_direction(smp) ? smp->initial_path[smp->hop_ptr+1] :
252 smp->return_path[smp->hop_ptr-1]);