Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
dsa.h File Reference

DSA definitions and handlers. More...

#include <device.h>
#include <net/net_if.h>

Go to the source code of this file.

Data Structures

struct  dsa_slave_config
 Structure to provide mac address for each LAN interface. More...
 

Macros

#define NET_DSA_PORT_MAX_COUNT   8
 
#define DSA_STATUS_PERIOD_MS   K_MSEC(1000)
 
#define DSA_TAG_SIZE   0
 

Typedefs

typedef enum net_verdict(* dsa_net_recv_cb_t) (struct net_if *iface, struct net_pkt *pkt)
 DSA (MGMT) Receive packet callback. More...
 
typedef int(* dsa_send_t) (const struct device *dev, struct net_pkt *pkt)
 Pointer to master interface send function. More...
 

Functions

int dsa_tx (const struct device *dev, struct net_pkt *pkt)
 DSA generic transmit function. More...
 
int dsa_register_recv_callback (struct net_if *iface, dsa_net_recv_cb_t cb)
 Register DSA Rx callback functions. More...
 
struct net_ifdsa_net_recv (struct net_if *iface, struct net_pkt **pkt)
 Set DSA interface to packet. More...
 
int dsa_register_master_tx (struct net_if *iface, dsa_send_t fn)
 DSA helper function to register transmit function for master. More...
 
bool dsa_is_port_master (struct net_if *iface)
 DSA helper function to check if port is master. More...
 
struct net_ifdsa_get_slave_port (struct net_if *iface, int slave_num)
 Get network interface of a slave port. More...
 
int dsa_switch_read (struct net_if *iface, uint16_t reg_addr, uint8_t *value)
 Read from DSA switch register. More...
 
int dsa_switch_write (struct net_if *iface, uint16_t reg_addr, uint8_t value)
 Write to DSA switch. More...
 
int dsa_switch_set_mac_table_entry (struct net_if *iface, const uint8_t *mac, uint8_t fw_port, uint16_t tbl_entry_idx, uint16_t flags)
 Write static MAC table entry. More...
 
int dsa_switch_get_mac_table_entry (struct net_if *iface, uint8_t *buf, uint16_t tbl_entry_idx)
 Read static MAC table entry. More...
 

Detailed Description

DSA definitions and handlers.