X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2FAPI%2Fethdi_8h.html;fp=docs%2FAPI%2Fethdi_8h.html;h=4f1d88ac9bc86f79b5a40bd12efd3fd5cb35048d;hb=870e1b86b0c74169b215c166dee787c7c1a20d06;hp=0000000000000000000000000000000000000000;hpb=298022ce50fa8133cc880507170c4b7120d227b5;p=o-du%2Fphy.git diff --git a/docs/API/ethdi_8h.html b/docs/API/ethdi_8h.html new file mode 100644 index 0000000..4f1d88a --- /dev/null +++ b/docs/API/ethdi_8h.html @@ -0,0 +1,773 @@ + + + + + + + +o-du/phy: ethdi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Data Structures | +Macros | +Typedefs | +Enumerations | +Functions | +Variables
+
+
ethdi.h File Reference
+
+
+ +

This file has all definitions for the Ethernet Data Interface Layer. +More...

+
#include <rte_config.h>
+#include <rte_mbuf.h>
+#include <rte_timer.h>
+#include "ethernet.h"
+#include "xran_fh_o_du.h"
+
+Include dependency graph for ethdi.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  xran_io_loop_cfg
 
struct  xran_ethdi_ctx
 
+ + + + + + + + + + + + + + + +

+Macros

#define XRAN_THREAD_DEFAULT_PRIO   (98)
 
#define PING_INTERVAL   300 /* (us) */
 
#define PING_BUSY_POLL   50 /* (us) how long to actively wait for response */
 
#define SLEEP_TIME   200 /* (us) */
 
#define BCAST   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
 
#define TX_TIMER_INTERVAL   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */
 
#define TX_RX_LOOP_TIME   rte_get_timer_hz() / 1
 
+ + + + + + + + + +

+Typedefs

typedef int(* PROCESS_CB) (void *arg)
 
typedef int(* xran_ethdi_handler) (struct rte_mbuf *, int sender, uint64_t rx_time)
 
typedef int(* ethertype_handler) (struct rte_mbuf *, uint64_t rx_time)
 
typedef void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)
 
+ + + + + + + + + +

+Enumerations

enum  xran_ping_states { PING_IDLE, +PING_NEEDED, +AWAITING_PONG + }
 
enum  xran_ethdi_vf_ports { ETHDI_UP_VF = 0, +ETHDI_CP_VF, +ETHDI_VF_MAX + }
 
enum  xran_entities_id { ID_LLS_CU, +ID_RU, +ID_BROADCAST, +ID_MAX + }
 
enum  { MBUF_KEEP, +MBUF_FREE + }
 
+ + + + + + + + + + + + + + + +

+Functions

int xran_register_ethertype_handler (uint16_t ethertype, ethertype_handler callback)
 
int xran_ethdi_init_dpdk_io (char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
 
struct rte_mbuf * xran_ethdi_mbuf_alloc (void)
 
int xran_ethdi_mbuf_send (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_ethdi_mbuf_send_cp (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_ethdi_filter_packet (struct rte_mbuf *pkt, uint64_t rx_time)
 
int32_t process_dpdk_io (void)
 
+ + + + + + + +

+Variables

enum xran_if_state xran_if_current_state
 
uint8_t ping_dst_id
 
struct ether_addr entities_addrs []
 
+

Detailed Description

+

This file has all definitions for the Ethernet Data Interface Layer.

+
Author
Intel Corporation
+ +

Definition in file ethdi.h.

+

Macro Definition Documentation

+ +

◆ BCAST

+ +
+
+ + + + +
#define BCAST   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
+
+ +

Definition at line 62 of file ethdi.h.

+ +
+
+ +

◆ PING_BUSY_POLL

+ +
+
+ + + + +
#define PING_BUSY_POLL   50 /* (us) how long to actively wait for response */
+
+ +

Definition at line 56 of file ethdi.h.

+ +
+
+ +

◆ PING_INTERVAL

+ +
+
+ + + + +
#define PING_INTERVAL   300 /* (us) */
+
+ +

Definition at line 55 of file ethdi.h.

+ +
+
+ +

◆ SLEEP_TIME

+ +
+
+ + + + +
#define SLEEP_TIME   200 /* (us) */
+
+ +

Definition at line 61 of file ethdi.h.

+ +
+
+ +

◆ TX_RX_LOOP_TIME

+ +
+
+ + + + +
#define TX_RX_LOOP_TIME   rte_get_timer_hz() / 1
+
+ +

Definition at line 65 of file ethdi.h.

+ +
+
+ +

◆ TX_TIMER_INTERVAL

+ +
+
+ + + + +
#define TX_TIMER_INTERVAL   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */
+
+ +

Definition at line 64 of file ethdi.h.

+ +
+
+ +

◆ XRAN_THREAD_DEFAULT_PRIO

+ +
+
+ + + + +
#define XRAN_THREAD_DEFAULT_PRIO   (98)
+
+ +

Definition at line 52 of file ethdi.h.

+ +
+
+

Typedef Documentation

+ +

◆ ethertype_handler

+ +
+
+ + + + +
typedef int(* ethertype_handler) (struct rte_mbuf *, uint64_t rx_time)
+
+ +

Definition at line 152 of file ethdi.h.

+ +
+
+ +

◆ PROCESS_CB

+ +
+
+ + + + +
typedef int(* PROCESS_CB) (void *arg)
+
+ +

Definition at line 109 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_handler

+ +
+
+ + + + +
typedef int(* xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time)
+
+ +

Definition at line 150 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_tx_callback

+ +
+
+ + + + +
typedef void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)
+
+ +

Definition at line 154 of file ethdi.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + +
Enumerator
MBUF_KEEP 
MBUF_FREE 
+ +

Definition at line 135 of file ethdi.h.

+ +
+
+ +

◆ xran_entities_id

+ +
+
+ + + + +
enum xran_entities_id
+
+ + + + + +
Enumerator
ID_LLS_CU 
ID_RU 
ID_BROADCAST 
ID_MAX 
+ +

Definition at line 96 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_vf_ports

+ +
+
+ + + + +
enum xran_ethdi_vf_ports
+
+ + + + +
Enumerator
ETHDI_UP_VF 
ETHDI_CP_VF 
ETHDI_VF_MAX 
+ +

Definition at line 74 of file ethdi.h.

+ +
+
+ +

◆ xran_ping_states

+ +
+
+ + + + +
enum xran_ping_states
+
+ + + + +
Enumerator
PING_IDLE 
PING_NEEDED 
AWAITING_PONG 
+ +

Definition at line 67 of file ethdi.h.

+ +
+
+

Function Documentation

+ +

◆ process_dpdk_io()

+ +
+
+ + + + + + + + +
int32_t process_dpdk_io (void )
+
+ +

Definition at line 445 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_filter_packet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_filter_packet (struct rte_mbuf * pkt,
uint64_t rx_time 
)
+
+ +

Definition at line 156 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ xran_ethdi_init_dpdk_io()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int xran_ethdi_init_dpdk_io (char * name,
const struct xran_io_loop_cfgio_cfg,
int * lcore_id,
struct ether_addr * p_lls_cu_addr,
struct ether_addr * p_ru_addr,
uint16_t cp_vlan,
uint16_t up_vlan 
)
+
+ +

Definition at line 288 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_alloc()

+ +
+
+ + + + + + + + +
struct rte_mbuf* xran_ethdi_mbuf_alloc (void )
+
+ +

Definition at line 77 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_send()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 82 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_mbuf_send_cp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send_cp (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 94 of file ethdi.c.

+ +
+
+ +

◆ xran_register_ethertype_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_register_ethertype_handler (uint16_t ethertype,
ethertype_handler callback 
)
+
+ +

Definition at line 124 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Variable Documentation

+ +

◆ entities_addrs

+ +
+
+ + + + +
struct ether_addr entities_addrs[]
+
+ +
+
+ +

◆ ping_dst_id

+ +
+
+ + + + +
uint8_t ping_dst_id
+
+ +
+
+ +

◆ xran_if_current_state

+ +
+
+ + + + +
enum xran_if_state xran_if_current_state
+
+ +

Definition at line 75 of file ethdi.c.

+ +
+
+
+ + + +