brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 45c2df6 Raw
88 lines · c
1/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) */2/*3 * Copyright (c) 2022, Microsoft Corporation. All rights reserved.4 */5 6#ifndef MANA_ABI_USER_H7#define MANA_ABI_USER_H8 9#include <linux/types.h>10#include <rdma/ib_user_ioctl_verbs.h>11 12/*13 * Increment this value if any changes that break userspace ABI14 * compatibility are made.15 */16 17#define MANA_IB_UVERBS_ABI_VERSION 118 19enum mana_ib_create_cq_flags {20	MANA_IB_CREATE_RNIC_CQ	= 1 << 0,21};22 23struct mana_ib_create_cq {24	__aligned_u64 buf_addr;25	__u16	flags;26	__u16	reserved0;27	__u32	reserved1;28};29 30struct mana_ib_create_cq_resp {31	__u32 cqid;32	__u32 reserved;33};34 35struct mana_ib_create_qp {36	__aligned_u64 sq_buf_addr;37	__u32 sq_buf_size;38	__u32 port;39};40 41struct mana_ib_create_qp_resp {42	__u32 sqid;43	__u32 cqid;44	__u32 tx_vp_offset;45	__u32 reserved;46};47 48struct mana_ib_create_rc_qp {49	__aligned_u64 queue_buf[4];50	__u32 queue_size[4];51};52 53struct mana_ib_create_rc_qp_resp {54	__u32 queue_id[4];55};56 57struct mana_ib_create_wq {58	__aligned_u64 wq_buf_addr;59	__u32 wq_buf_size;60	__u32 reserved;61};62 63/* RX Hash function flags */64enum mana_ib_rx_hash_function_flags {65	MANA_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,66};67 68struct mana_ib_create_qp_rss {69	__aligned_u64 rx_hash_fields_mask;70	__u8 rx_hash_function;71	__u8 reserved[7];72	__u32 rx_hash_key_len;73	__u8 rx_hash_key[40];74	__u32 port;75};76 77struct rss_resp_entry {78	__u32 cqid;79	__u32 wqid;80};81 82struct mana_ib_create_qp_rss_resp {83	__aligned_u64 num_entries;84	struct rss_resp_entry entries[64];85};86 87#endif88