ib_mcast.h

Go to the documentation of this file.
00001 #ifndef _GPXE_IB_MCAST_H
00002 #define _GPXE_IB_MCAST_H
00003 
00004 /** @file
00005  *
00006  * Infiniband multicast groups
00007  *
00008  */
00009 
00010 FILE_LICENCE ( GPL2_OR_LATER );
00011 
00012 #include <gpxe/infiniband.h>
00013 
00014 struct ib_mad_transaction;
00015 
00016 /** An Infiniband multicast group membership */
00017 struct ib_mc_membership {
00018         /** Queue pair */
00019         struct ib_queue_pair *qp;
00020         /** Multicast GID */
00021         struct ib_gid gid;
00022         /** Multicast group join transaction */
00023         struct ib_mad_transaction *madx;
00024         /** Handle join success/failure
00025          *
00026          * @v ibdev             Infiniband device
00027          * @v qp                Queue pair
00028          * @v membership        Multicast group membership
00029          * @v rc                Status code
00030          * @v mad               Response MAD (or NULL on error)
00031          */
00032         void ( * complete ) ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00033                               struct ib_mc_membership *membership, int rc,
00034                               union ib_mad *mad );
00035 };
00036 
00037 extern int ib_mcast_join ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00038                            struct ib_mc_membership *membership,
00039                            struct ib_gid *gid,
00040                            void ( * joined ) ( struct ib_device *ibdev,
00041                                                struct ib_queue_pair *qp,
00042                                                struct ib_mc_membership *memb,
00043                                                int rc, union ib_mad *mad ) );
00044 
00045 extern void ib_mcast_leave ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00046                              struct ib_mc_membership *membership );
00047 
00048 #endif /* _GPXE_IB_MCAST_H */

Generated on Tue Apr 6 20:01:08 2010 for gPXE by  doxygen 1.5.7.1