Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
No Matches
dsa.h File Reference

DSA definitions and handlers. More...

#include <zephyr/device.h>
#include <zephyr/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...


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


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

Detailed Description

DSA definitions and handlers.