<snip> > + > +/* callbacks from ib_rxe to network interface layer */ > +struct rxe_ifc_ops { > + void (*release)(struct rxe_dev *rxe); > + __be64 (*node_guid)(struct rxe_dev *rxe); > + __be64 (*port_guid)(struct rxe_dev *rxe); > + struct device *(*dma_device)(struct rxe_dev *rxe); > + int (*mcast_add)(struct rxe_dev *rxe, union ib_gid *mgid); > + int (*mcast_delete)(struct rxe_dev *rxe, union ib_gid *mgid); > + int (*prepare)(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, > + struct sk_buff *skb, u32 *crc); > + int (*send)(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, > + struct sk_buff *skb); > + int (*loopback)(struct sk_buff *skb); > + struct sk_buff *(*init_packet)(struct rxe_dev *rxe, struct rxe_av *av, > + int paylen, struct rxe_pkt_info *pkt); > + char *(*parent_name)(struct rxe_dev *rxe, unsigned int port_num); > + enum rdma_link_layer (*link_layer)(struct rxe_dev *rxe, > + unsigned int port_num); > +}; > + Why have this layer of indirection to the underlying network ops when there is only one underlying network supported? Seems like overkill... Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html