Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Network Link Address Library

Network link address library. More...

Data Structures

struct  net_linkaddr
 Hardware link address structure. More...
 
struct  net_linkaddr_storage
 Hardware link address structure. More...
 

Macros

#define NET_LINK_ADDR_MAX_LENGTH   6
 Maximum length of the link address.
 

Enumerations

enum  net_link_type {
  NET_LINK_UNKNOWN = 0 , NET_LINK_IEEE802154 , NET_LINK_BLUETOOTH , NET_LINK_ETHERNET ,
  NET_LINK_DUMMY , NET_LINK_CANBUS_RAW
}
 Type of the link address. More...
 

Functions

static bool net_linkaddr_cmp (struct net_linkaddr *lladdr1, struct net_linkaddr *lladdr2)
 Compare two link layer addresses.
 
static int net_linkaddr_set (struct net_linkaddr_storage *lladdr_store, uint8_t *new_addr, uint8_t new_len)
 Set the member data of a link layer address storage structure.
 

Detailed Description

Network link address library.

Macro Definition Documentation

◆ NET_LINK_ADDR_MAX_LENGTH

#define NET_LINK_ADDR_MAX_LENGTH   6

#include <zephyr/net/net_linkaddr.h>

Maximum length of the link address.

Enumeration Type Documentation

◆ net_link_type

#include <zephyr/net/net_linkaddr.h>

Type of the link address.

This indicates the network technology that this address is used in. Note that in order to save space we store the value into a uint8_t variable, so please do not introduce any values > 255 in this enum.

Enumerator
NET_LINK_UNKNOWN 

Unknown link address type.

NET_LINK_IEEE802154 

IEEE 802.15.4 link address.

NET_LINK_BLUETOOTH 

Bluetooth IPSP link address.

NET_LINK_ETHERNET 

Ethernet link address.

NET_LINK_DUMMY 

Dummy link address.

Used in testing apps and loopback support.

NET_LINK_CANBUS_RAW 

CANBUS link address.

Function Documentation

◆ net_linkaddr_cmp()

static bool net_linkaddr_cmp ( struct net_linkaddr lladdr1,
struct net_linkaddr lladdr2 
)
inlinestatic

#include <zephyr/net/net_linkaddr.h>

Compare two link layer addresses.

Parameters
lladdr1Pointer to a link layer address
lladdr2Pointer to a link layer address
Returns
True if the addresses are the same, false otherwise.

◆ net_linkaddr_set()

static int net_linkaddr_set ( struct net_linkaddr_storage lladdr_store,
uint8_t new_addr,
uint8_t  new_len 
)
inlinestatic

#include <zephyr/net/net_linkaddr.h>

Set the member data of a link layer address storage structure.

Parameters
lladdr_storeThe link address storage structure to change.
new_addrArray of bytes containing the link address.
new_lenLength of the link address array. This value should always be <= NET_LINK_ADDR_MAX_LENGTH.