1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
3 * Copyright 2010-2012 Freescale Semiconductor, Inc.
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 */
19 /**< Other interface details are in the fman driver interface */
20 struct fman_if *fman_if;
25 /**< Number of ports */
26 struct fm_eth_port_cfg port_cfg[0];
27 /**< Variable structure array of size num_ethports */
30 struct interface_info {
32 struct rte_ether_addr mac_addr;
33 struct rte_ether_addr peer_mac;
35 int fman_enabled_mac_interface;
38 struct netcfg_interface {
39 uint8_t numof_netcfg_interface;
40 uint8_t numof_fman_enabled_macless;
41 struct interface_info interface_info[0];
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.
49 struct netcfg_info *netcfg_acquire(void);
51 /* cfg_ptr: configuration information pointer.
52 * Frees the resources allocated by the configuration layer.
55 void netcfg_release(struct netcfg_info *cfg_ptr);
57 #ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
58 /* cfg_ptr: configuration information pointer.
59 * This function dumps configuration data to stdout.
61 void dump_netcfg(struct netcfg_info *cfg_ptr);
64 #endif /* __NETCFG_H */