/* * Copyright (c) 2006 - 2009 Mellanox Technology Inc. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the * OpenIB.org BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ #ifndef IB_DM_MAD_H #define IB_DM_MAD_H #include <linux/types.h> #include <rdma/ib_mad.h> enum { … }; struct ib_dm_hdr { … }; /* * Structure of management datagram sent by the SRP target implementation. * Contains a management datagram header, reliable multi-packet transaction * protocol (RMPP) header and ib_dm_hdr. Notes: * - The SRP target implementation does not use RMPP or ib_dm_hdr when sending * management datagrams. * - The header size must be exactly 64 bytes (IB_MGMT_DEVICE_HDR), since this * is the header size that is passed to ib_create_send_mad() in ib_srpt.c. * - The maximum supported size for a management datagram when not using RMPP * is 256 bytes -- 64 bytes header and 192 (IB_MGMT_DEVICE_DATA) bytes data. */ struct ib_dm_mad { … }; /* * IOUnitInfo as defined in section 16.3.3.3 IOUnitInfo of the InfiniBand * Architecture Specification. */ struct ib_dm_iou_info { … }; /* * IOControllerprofile as defined in section 16.3.3.4 IOControllerProfile of * the InfiniBand Architecture Specification. */ struct ib_dm_ioc_profile { … }; struct ib_dm_svc_entry { … }; /* * See also section 16.3.3.5 ServiceEntries in the InfiniBand Architecture * Specification. See also section B.7, table B.8 in the T10 SRP r16a document. */ struct ib_dm_svc_entries { … }; #endif