net/iavf: store offload flag of Rx queue
[dpdk.git] / drivers / bus / dpaa / include / netcfg.h
1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
2  *
3  * Copyright 2010-2012 Freescale Semiconductor, Inc.
4  * All rights reserved.
5  *
6  */
7
8 #ifndef __NETCFG_H
9 #define __NETCFG_H
10
11 #include <fman.h>
12
13 /* Configuration information related to a specific ethernet port */
14 struct fm_eth_port_cfg {
15         /**< A list of PCD FQ ranges, obtained from FMC configuration */
16         struct list_head *list;
17         /**< The "Rx default" FQID, obtained from FMC configuration */
18         uint32_t rx_def;
19         /**< Other interface details are in the fman driver interface */
20         struct fman_if *fman_if;
21 };
22
23 struct netcfg_info {
24         uint8_t num_ethports;
25         /**< Number of ports */
26         struct fm_eth_port_cfg port_cfg[0];
27         /**< Variable structure array of size num_ethports */
28 };
29
30 struct interface_info {
31         char *name;
32         struct rte_ether_addr mac_addr;
33         struct rte_ether_addr peer_mac;
34         int mac_present;
35         int fman_enabled_mac_interface;
36 };
37
38 struct netcfg_interface {
39         uint8_t numof_netcfg_interface;
40         uint8_t numof_fman_enabled_macless;
41         struct interface_info interface_info[0];
42 };
43
44 /* pcd_file: FMC netpcd XML ("policy") file, that contains PCD information.
45  * cfg_file: FMC config XML file
46  * Returns the configuration information in newly allocated memory.
47  */
48 __rte_internal
49 struct netcfg_info *netcfg_acquire(void);
50
51 /* cfg_ptr: configuration information pointer.
52  * Frees the resources allocated by the configuration layer.
53  */
54 __rte_internal
55 void netcfg_release(struct netcfg_info *cfg_ptr);
56
57 #ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
58 /* cfg_ptr: configuration information pointer.
59  * This function dumps configuration data to stdout.
60  */
61 void dump_netcfg(struct netcfg_info *cfg_ptr);
62 #endif
63
64 #endif /* __NETCFG_H */