linux/include/rdma/opa_vnic.h

/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/*
 * Copyright(c) 2017 - 2020 Intel Corporation.
 */

#ifndef _OPA_VNIC_H
#define _OPA_VNIC_H

/*
 * This file contains Intel Omni-Path (OPA) Virtual Network Interface
 * Controller (VNIC) specific declarations.
 */

#include <rdma/ib_verbs.h>

/* 16 header bytes + 2 reserved bytes */
#define OPA_VNIC_L2_HDR_LEN

#define OPA_VNIC_L4_HDR_LEN

#define OPA_VNIC_HDR_LEN

#define OPA_VNIC_L4_ETHR

#define OPA_VNIC_ICRC_LEN
#define OPA_VNIC_TAIL_LEN
#define OPA_VNIC_ICRC_TAIL_LEN

#define OPA_VNIC_SKB_MDATA_LEN
#define OPA_VNIC_SKB_MDATA_ENCAP_ERR

/* opa vnic rdma netdev's private data structure */
struct opa_vnic_rdma_netdev {};

static inline void *opa_vnic_priv(const struct net_device *dev)
{}

static inline void *opa_vnic_dev_priv(const struct net_device *dev)
{}

/* opa_vnic skb meta data structure */
struct opa_vnic_skb_mdata {} __packed;

/* OPA VNIC group statistics */
struct opa_vnic_grp_stats {};

struct opa_vnic_stats {};

static inline bool rdma_cap_opa_vnic(struct ib_device *device)
{}

#endif /* _OPA_VNIC_H */