Lines Matching refs:mad
87 struct ib_mad mad; member
93 struct ib_mad mad; member
223 static void smp_snoop(struct ib_device *ibdev, u8 port_num, struct ib_mad *mad, in smp_snoop() argument
234 if ((mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED || in smp_snoop()
235 mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) && in smp_snoop()
236 mad->mad_hdr.method == IB_MGMT_METHOD_SET) in smp_snoop()
237 switch (mad->mad_hdr.attr_id) { in smp_snoop()
239 pinfo = (struct ib_port_info *) ((struct ib_smp *) mad)->data; in smp_snoop()
263 bn = be32_to_cpu(((struct ib_smp *)mad)->attr_mod) & 0xFFFF; in smp_snoop()
264 base = (__be16 *) &(((struct ib_smp *)mad)->data[0]); in smp_snoop()
297 bn = be32_to_cpu(((struct ib_smp *)mad)->attr_mod); in smp_snoop()
299 (u8 *)(&((struct ib_smp *)mad)->data)); in smp_snoop()
301 (u8 *)(&((struct ib_smp *)mad)->data)); in smp_snoop()
345 struct ib_mad *mad) in node_desc_override() argument
349 if ((mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED || in node_desc_override()
350 mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) && in node_desc_override()
351 mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP && in node_desc_override()
352 mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) { in node_desc_override()
354 memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64); in node_desc_override()
359 static void forward_trap(struct mlx4_ib_dev *dev, u8 port_num, struct ib_mad *mad) in forward_trap() argument
361 int qpn = mad->mad_hdr.mgmt_class != IB_MGMT_CLASS_SUBN_LID_ROUTED; in forward_trap()
379 memcpy(send_buf->mad, mad, sizeof *mad); in forward_trap()
463 struct ib_grh *grh, struct ib_mad *mad) in mlx4_ib_send_to_slave() argument
548 memcpy(&tun_mad->mad, mad, sizeof *mad); in mlx4_ib_send_to_slave()
611 struct ib_mad *mad) in mlx4_ib_demux_mad() argument
629 if (mad->mad_hdr.mgmt_class != IB_MGMT_CLASS_CM) { in mlx4_ib_demux_mad()
643 if (mlx4_ib_demux_cm_handler(ibdev, port, NULL, mad)) in mlx4_ib_demux_mad()
646 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); in mlx4_ib_demux_mad()
657 if (mad->mad_hdr.method & 0x80) { in mlx4_ib_demux_mad()
658 slave_id = (u8 *) &mad->mad_hdr.tid; in mlx4_ib_demux_mad()
673 switch (mad->mad_hdr.mgmt_class) { in mlx4_ib_demux_mad()
681 if (!(mad->mad_hdr.method & IB_MGMT_METHOD_RESP)) { in mlx4_ib_demux_mad()
683 slave, mad->mad_hdr.mgmt_class, in mlx4_ib_demux_mad()
684 mad->mad_hdr.method); in mlx4_ib_demux_mad()
691 (struct ib_sa_mad *) mad)) in mlx4_ib_demux_mad()
695 if (mlx4_ib_demux_cm_handler(ibdev, port, &slave, mad)) in mlx4_ib_demux_mad()
699 if (mad->mad_hdr.method != IB_MGMT_METHOD_GET_RESP) in mlx4_ib_demux_mad()
706 "for slave:%d\n", mad->mad_hdr.mgmt_class, slave); in mlx4_ib_demux_mad()
717 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad); in mlx4_ib_demux_mad()
1169 u8 *s_mac, struct ib_mad *mad) in mlx4_ib_send_to_wire() argument
1232 memcpy(&sqp_mad->payload, mad, sizeof *mad); in mlx4_ib_send_to_wire()
1312 switch (tunnel->mad.mad_hdr.method) { in mlx4_ib_multiplex_mad()
1320 slave_id = (u8 *) &tunnel->mad.mad_hdr.tid; in mlx4_ib_multiplex_mad()
1324 tunnel->mad.mad_hdr.mgmt_class, slave); in mlx4_ib_multiplex_mad()
1333 switch (tunnel->mad.mad_hdr.mgmt_class) { in mlx4_ib_multiplex_mad()
1342 (struct ib_sa_mad *) &tunnel->mad)) in mlx4_ib_multiplex_mad()
1347 (struct ib_mad *) &tunnel->mad)) in mlx4_ib_multiplex_mad()
1351 if (tunnel->mad.mad_hdr.method != IB_MGMT_METHOD_GET && in mlx4_ib_multiplex_mad()
1352 tunnel->mad.mad_hdr.method != IB_MGMT_METHOD_SET) in mlx4_ib_multiplex_mad()
1359 "for slave:%d\n", tunnel->mad.mad_hdr.mgmt_class, slave); in mlx4_ib_multiplex_mad()
1388 &ah_attr, wc->smac, &tunnel->mad); in mlx4_ib_multiplex_mad()
1692 struct ib_mad *mad; in mlx4_ib_sqp_comp_worker() local
1711 mad = (struct ib_mad *) &(((struct mlx4_mad_rcv_buf *) in mlx4_ib_sqp_comp_worker()
1717 mlx4_ib_demux_mad(ctx->ib_dev, ctx->port, &wc, grh, mad); in mlx4_ib_sqp_comp_worker()