Lines Matching refs:mad

79 	struct ib_mad mad;  member
85 struct ib_mad mad; member
216 static void smp_snoop(struct ib_device *ibdev, u8 port_num, const struct ib_mad *mad, in smp_snoop() argument
227 if ((mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED || in smp_snoop()
228 mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) && in smp_snoop()
229 mad->mad_hdr.method == IB_MGMT_METHOD_SET) in smp_snoop()
230 switch (mad->mad_hdr.attr_id) { in smp_snoop()
232 pinfo = (struct ib_port_info *) ((struct ib_smp *) mad)->data; in smp_snoop()
256 bn = be32_to_cpu(((struct ib_smp *)mad)->attr_mod) & 0xFFFF; in smp_snoop()
257 base = (__be16 *) &(((struct ib_smp *)mad)->data[0]); in smp_snoop()
290 bn = be32_to_cpu(((struct ib_smp *)mad)->attr_mod); in smp_snoop()
292 (u8 *)(&((struct ib_smp *)mad)->data)); in smp_snoop()
294 (u8 *)(&((struct ib_smp *)mad)->data)); in smp_snoop()
338 struct ib_mad *mad) in node_desc_override() argument
342 if ((mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED || in node_desc_override()
343 mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) && in node_desc_override()
344 mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP && in node_desc_override()
345 mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) { in node_desc_override()
347 memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64); in node_desc_override()
352 static void forward_trap(struct mlx4_ib_dev *dev, u8 port_num, const struct ib_mad *mad) in forward_trap() argument
354 int qpn = mad->mad_hdr.mgmt_class != IB_MGMT_CLASS_SUBN_LID_ROUTED; in forward_trap()
373 memcpy(send_buf->mad, mad, sizeof *mad); in forward_trap()
457 struct ib_grh *grh, struct ib_mad *mad) in mlx4_ib_send_to_slave() argument
543 memcpy(&tun_mad->mad, mad, sizeof *mad); in mlx4_ib_send_to_slave()
606 struct ib_mad *mad) in mlx4_ib_demux_mad() argument
624 if (mad->mad_hdr.mgmt_class != IB_MGMT_CLASS_CM) { in mlx4_ib_demux_mad()
638 if (mlx4_ib_demux_cm_handler(ibdev, port, NULL, mad)) in mlx4_ib_demux_mad()
641 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); in mlx4_ib_demux_mad()
652 if (mad->mad_hdr.method & 0x80) { in mlx4_ib_demux_mad()
653 slave_id = (u8 *) &mad->mad_hdr.tid; in mlx4_ib_demux_mad()
668 switch (mad->mad_hdr.mgmt_class) { in mlx4_ib_demux_mad()
676 if (!(mad->mad_hdr.method & IB_MGMT_METHOD_RESP)) { in mlx4_ib_demux_mad()
678 slave, mad->mad_hdr.mgmt_class, in mlx4_ib_demux_mad()
679 mad->mad_hdr.method); in mlx4_ib_demux_mad()
686 (struct ib_sa_mad *) mad)) in mlx4_ib_demux_mad()
690 if (mlx4_ib_demux_cm_handler(ibdev, port, &slave, mad)) in mlx4_ib_demux_mad()
694 if (mad->mad_hdr.method != IB_MGMT_METHOD_GET_RESP) in mlx4_ib_demux_mad()
701 "for slave:%d\n", mad->mad_hdr.mgmt_class, slave); in mlx4_ib_demux_mad()
712 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); in mlx4_ib_demux_mad()
1187 u8 *s_mac, u16 vlan_id, struct ib_mad *mad) in mlx4_ib_send_to_wire() argument
1251 memcpy(&sqp_mad->payload, mad, sizeof *mad); in mlx4_ib_send_to_wire()
1335 switch (tunnel->mad.mad_hdr.method) { in mlx4_ib_multiplex_mad()
1343 slave_id = (u8 *) &tunnel->mad.mad_hdr.tid; in mlx4_ib_multiplex_mad()
1347 tunnel->mad.mad_hdr.mgmt_class, slave); in mlx4_ib_multiplex_mad()
1356 switch (tunnel->mad.mad_hdr.mgmt_class) { in mlx4_ib_multiplex_mad()
1365 (struct ib_sa_mad *) &tunnel->mad)) in mlx4_ib_multiplex_mad()
1370 (struct ib_mad *) &tunnel->mad)) in mlx4_ib_multiplex_mad()
1374 if (tunnel->mad.mad_hdr.method != IB_MGMT_METHOD_GET && in mlx4_ib_multiplex_mad()
1375 tunnel->mad.mad_hdr.method != IB_MGMT_METHOD_SET) in mlx4_ib_multiplex_mad()
1382 "for slave:%d\n", tunnel->mad.mad_hdr.mgmt_class, slave); in mlx4_ib_multiplex_mad()
1414 &ah_attr, wc->smac, vlan_id, &tunnel->mad); in mlx4_ib_multiplex_mad()
1718 struct ib_mad *mad; in mlx4_ib_sqp_comp_worker() local
1737 mad = (struct ib_mad *) &(((struct mlx4_mad_rcv_buf *) in mlx4_ib_sqp_comp_worker()
1743 mlx4_ib_demux_mad(ctx->ib_dev, ctx->port, &wc, grh, mad); in mlx4_ib_sqp_comp_worker()