1d3cf81f9SSagi Grimberg /* 2d3cf81f9SSagi Grimberg * Copyright (c) 2015 Mellanox Technologies. All rights reserved. 3d3cf81f9SSagi Grimberg * 4d3cf81f9SSagi Grimberg * This software is available to you under a choice of one of two 5d3cf81f9SSagi Grimberg * licenses. You may choose to be licensed under the terms of the GNU 6d3cf81f9SSagi Grimberg * General Public License (GPL) Version 2, available from the file 7d3cf81f9SSagi Grimberg * COPYING in the main directory of this source tree, or the 8d3cf81f9SSagi Grimberg * OpenIB.org BSD license below: 9d3cf81f9SSagi Grimberg * 10d3cf81f9SSagi Grimberg * Redistribution and use in source and binary forms, with or 11d3cf81f9SSagi Grimberg * without modification, are permitted provided that the following 12d3cf81f9SSagi Grimberg * conditions are met: 13d3cf81f9SSagi Grimberg * 14d3cf81f9SSagi Grimberg * - Redistributions of source code must retain the above 15d3cf81f9SSagi Grimberg * copyright notice, this list of conditions and the following 16d3cf81f9SSagi Grimberg * disclaimer. 17d3cf81f9SSagi Grimberg * 18d3cf81f9SSagi Grimberg * - Redistributions in binary form must reproduce the above 19d3cf81f9SSagi Grimberg * copyright notice, this list of conditions and the following 20d3cf81f9SSagi Grimberg * disclaimer in the documentation and/or other materials 21d3cf81f9SSagi Grimberg * provided with the distribution. 22d3cf81f9SSagi Grimberg * 23d3cf81f9SSagi Grimberg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24d3cf81f9SSagi Grimberg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25d3cf81f9SSagi Grimberg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26d3cf81f9SSagi Grimberg * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 27d3cf81f9SSagi Grimberg * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 28d3cf81f9SSagi Grimberg * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 29d3cf81f9SSagi Grimberg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 30d3cf81f9SSagi Grimberg * SOFTWARE. 31d3cf81f9SSagi Grimberg */ 32d3cf81f9SSagi Grimberg #ifndef ISCSI_ISER_H 33d3cf81f9SSagi Grimberg #define ISCSI_ISER_H 34d3cf81f9SSagi Grimberg 35d3cf81f9SSagi Grimberg #define ISER_ZBVA_NOT_SUP 0x80 36d3cf81f9SSagi Grimberg #define ISER_SEND_W_INV_NOT_SUP 0x40 37d3cf81f9SSagi Grimberg #define ISERT_ZBVA_NOT_USED 0x80 38d3cf81f9SSagi Grimberg #define ISERT_SEND_W_INV_NOT_USED 0x40 39d3cf81f9SSagi Grimberg 40d3cf81f9SSagi Grimberg #define ISCSI_CTRL 0x10 41d3cf81f9SSagi Grimberg #define ISER_HELLO 0x20 42d3cf81f9SSagi Grimberg #define ISER_HELLORPLY 0x30 43d3cf81f9SSagi Grimberg 44d3cf81f9SSagi Grimberg #define ISER_VER 0x10 45d3cf81f9SSagi Grimberg #define ISER_WSV 0x08 46d3cf81f9SSagi Grimberg #define ISER_RSV 0x04 47d3cf81f9SSagi Grimberg 48d3cf81f9SSagi Grimberg /** 49d3cf81f9SSagi Grimberg * struct iser_cm_hdr - iSER CM header (from iSER Annex A12) 50d3cf81f9SSagi Grimberg * 51d3cf81f9SSagi Grimberg * @flags: flags support (zbva, send_w_inv) 52d3cf81f9SSagi Grimberg * @rsvd: reserved 53d3cf81f9SSagi Grimberg */ 54d3cf81f9SSagi Grimberg struct iser_cm_hdr { 55d3cf81f9SSagi Grimberg u8 flags; 56d3cf81f9SSagi Grimberg u8 rsvd[3]; 57d3cf81f9SSagi Grimberg } __packed; 58d3cf81f9SSagi Grimberg 59d3cf81f9SSagi Grimberg /** 60d3cf81f9SSagi Grimberg * struct iser_ctrl - iSER header of iSCSI control PDU 61d3cf81f9SSagi Grimberg * 62d3cf81f9SSagi Grimberg * @flags: opcode and read/write valid bits 63d3cf81f9SSagi Grimberg * @rsvd: reserved 64d3cf81f9SSagi Grimberg * @write_stag: write rkey 65d3cf81f9SSagi Grimberg * @write_va: write virtual address 66*11d99e91SRandy Dunlap * @read_stag: read rkey 67d3cf81f9SSagi Grimberg * @read_va: read virtual address 68d3cf81f9SSagi Grimberg */ 69d3cf81f9SSagi Grimberg struct iser_ctrl { 70d3cf81f9SSagi Grimberg u8 flags; 71d3cf81f9SSagi Grimberg u8 rsvd[3]; 72d3cf81f9SSagi Grimberg __be32 write_stag; 73d3cf81f9SSagi Grimberg __be64 write_va; 74d3cf81f9SSagi Grimberg __be32 read_stag; 75d3cf81f9SSagi Grimberg __be64 read_va; 76d3cf81f9SSagi Grimberg } __packed; 77d3cf81f9SSagi Grimberg 78d3cf81f9SSagi Grimberg #endif /* ISCSI_ISER_H */ 79