1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
2 * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
10 #include <rte_ethdev.h>
11 #include <rte_ether.h>
13 #include "ionic_osdep.h"
14 #include "ionic_dev.h"
16 #define IONIC_LIF_F_INITED BIT(0)
18 #define IONIC_LIF_NAME_MAX_SZ (32)
21 struct ionic_adapter *adapter;
22 struct rte_eth_dev *eth_dev;
23 uint16_t port_id; /**< Device port identifier */
28 struct ionic_doorbell __iomem *kern_dbpage;
29 char name[IONIC_LIF_NAME_MAX_SZ];
31 struct ionic_lif_info *info;
33 const struct rte_memzone *info_z;
36 int ionic_lif_identify(struct ionic_adapter *adapter);
37 int ionic_lifs_size(struct ionic_adapter *ionic);
39 int ionic_lif_alloc(struct ionic_lif *lif);
40 void ionic_lif_free(struct ionic_lif *lif);
42 int ionic_lif_init(struct ionic_lif *lif);
43 void ionic_lif_deinit(struct ionic_lif *lif);
45 int ionic_lif_start(struct ionic_lif *lif);
47 int ionic_lif_configure(struct ionic_lif *lif);
48 void ionic_lif_reset(struct ionic_lif *lif);
50 #endif /* _IONIC_LIF_H_ */