1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
3 * Copyright 2010-2012 Freescale Semiconductor, Inc.
14 /* Configuration information related to a specific ethernet port */
15 struct fm_eth_port_cfg {
16 /**< A list of PCD FQ ranges, obtained from FMC configuration */
17 struct list_head *list;
18 /**< The "Rx default" FQID, obtained from FMC configuration */
20 /**< Other interface details are in the fman driver interface */
21 struct fman_if *fman_if;
26 /**< Number of ports */
27 struct fm_eth_port_cfg port_cfg[0];
28 /**< Variable structure array of size num_ethports */
31 struct interface_info {
33 struct ether_addr mac_addr;
34 struct ether_addr peer_mac;
36 int fman_enabled_mac_interface;
39 struct netcfg_interface {
40 uint8_t numof_netcfg_interface;
41 uint8_t numof_fman_enabled_macless;
42 struct interface_info interface_info[0];
45 /* pcd_file: FMC netpcd XML ("policy") file, that contains PCD information.
46 * cfg_file: FMC config XML file
47 * 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.
54 void netcfg_release(struct netcfg_info *cfg_ptr);
56 #ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
57 /* cfg_ptr: configuration information pointer.
58 * This function dumps configuration data to stdout.
60 void dump_netcfg(struct netcfg_info *cfg_ptr);
63 #endif /* __NETCFG_H */