Data Plane Development Kit Reference Manual: Intel FPGA Programmable Acceleration Card N3000

ID 683512
Date 12/06/2019
Public
Document Table of Contents

2.4.2.8. opae_manager_networking_ops

The opae_manager_networking_ops data structure includes all functions required for networking operations on the Intel® FPGA PAC N3000, including the following operations:

  • Reading Ethernet group registers
  • Reading the link speed
  • Reading the link status
The opae_manager_networking_ops incorporates the following API functions:
struct opae_manager_networking_ops {
int (*read_mac_rom)(struct opae_manager *mgr, int offset, void *buf, int size);
int (*write_mac_rom)(struct opae_manager *mgr, int offset, void *buf, int size);
int (*get_eth_group_nums)(struct opae_manager *mgr);
int (*get_eth_group_info)(struct opae_manager *mgr, u8 group_id, 
	struct opae_eth_group_info *info);
int (*eth_group_reg_read)(struct opae_manager *mgr, u8 group_id, 
	u8 type, u8 index, u16 addr, u32 *data);
int (*eth_group_reg_write)(struct opae_manager *mgr, u8 group_id,
	u8 type, u8 index, u16 addr, u32 data);
int (*get_retimer_info)(struct opae_manager *mgr,
	struct opae_retimer_info *info);
int (*get_retimer_status)(struct opae_manager *mgr,
	struct opae_retimer_status *status);

The following table summarizes the information that these API functions read or write.

Table 5.  Networking API Functions
Function Description
read_mac_rom Read raw data from the I2C EEPROM.
write_mac_rom Write raw data to the MAC ROM.
get_eth_group_nums Get the numbers of the Ethernet group.
get_eth_group_info Get the configuration information of an Ethernet group.
eth_group_reg_read Read the register of the Ethernet group.
eth_group_reg_write Write the register of the Ethernet group.
get_retimer_info Get retimer information.
get_retimer_status Get retimer link status information.

For more information about Ethernet groups, refer to Ethernet Group and Retimer API.