Zephyr API Documentation
3.6.99
A Scalable Open Source RTOS
|
Public API for network interface. More...
#include <zephyr/device.h>
#include <zephyr/sys/slist.h>
#include <zephyr/sys/iterable_sections.h>
#include <zephyr/net/net_core.h>
#include <zephyr/net/hostname.h>
#include <zephyr/net/net_linkaddr.h>
#include <zephyr/net/net_ip.h>
#include <zephyr/net/net_l2.h>
#include <zephyr/net/net_stats.h>
#include <zephyr/net/net_timeout.h>
#include <syscalls/net_if.h>
Go to the source code of this file.
Data Structures | |
struct | net_if_addr |
Network Interface unicast IP addresses. More... | |
struct | net_if_mcast_addr |
Network Interface multicast IP addresses. More... | |
struct | net_if_ipv6_prefix |
Network Interface IPv6 prefixes. More... | |
struct | net_if_router |
Information about routers in the system. More... | |
struct | net_if_ipv6 |
IPv6 configuration. More... | |
struct | net_if_addr_ipv4 |
Network Interface unicast IPv4 address and netmask. More... | |
struct | net_if_ipv4 |
IPv4 configuration. More... | |
struct | net_if_ip |
Network interface IP address configuration. More... | |
struct | net_if_config |
IP and other configuration related data for network interface. More... | |
struct | net_traffic_class |
Network traffic class. More... | |
struct | net_if_dev |
Network Interface Device structure. More... | |
struct | net_if |
Network Interface structure. More... | |
struct | net_if_mcast_monitor |
Multicast monitor handler struct. More... | |
struct | net_if_link_cb |
Link callback handler struct. More... | |
Macros | |
#define | NET_DEVICE_INIT(dev_id, name, init_fn, pm, data, config, prio, api, l2, l2_ctx_type, mtu) |
Create a network interface and bind it to network device. | |
#define | NET_DEVICE_DT_DEFINE(node_id, init_fn, pm, data, config, prio, api, l2, l2_ctx_type, mtu) |
Like NET_DEVICE_INIT but taking metadata from a devicetree node. | |
#define | NET_DEVICE_DT_INST_DEFINE(inst, ...) NET_DEVICE_DT_DEFINE(DT_DRV_INST(inst), __VA_ARGS__) |
Like NET_DEVICE_DT_DEFINE for an instance of a DT_DRV_COMPAT compatible. | |
#define | NET_DEVICE_INIT_INSTANCE(dev_id, name, instance, init_fn, pm, data, config, prio, api, l2, l2_ctx_type, mtu) |
Create multiple network interfaces and bind them to network device. | |
#define | NET_DEVICE_DT_DEFINE_INSTANCE(node_id, instance, init_fn, pm, data, config, prio, api, l2, l2_ctx_type, mtu) |
Like NET_DEVICE_OFFLOAD_INIT but taking metadata from a devicetree. | |
#define | NET_DEVICE_DT_INST_DEFINE_INSTANCE(inst, ...) NET_DEVICE_DT_DEFINE_INSTANCE(DT_DRV_INST(inst), __VA_ARGS__) |
Like NET_DEVICE_DT_DEFINE_INSTANCE for an instance of a DT_DRV_COMPAT compatible. | |
#define | NET_DEVICE_OFFLOAD_INIT(dev_id, name, init_fn, pm, data, config, prio, api, mtu) |
Create a offloaded network interface and bind it to network device. | |
#define | NET_DEVICE_DT_OFFLOAD_DEFINE(node_id, init_fn, pm, data, config, prio, api, mtu) |
Like NET_DEVICE_OFFLOAD_INIT but taking metadata from a devicetree node. | |
#define | NET_DEVICE_DT_INST_OFFLOAD_DEFINE(inst, ...) NET_DEVICE_DT_OFFLOAD_DEFINE(DT_DRV_INST(inst), __VA_ARGS__) |
Like NET_DEVICE_DT_OFFLOAD_DEFINE for an instance of a DT_DRV_COMPAT compatible. | |
#define | NET_IFACE_COUNT(_dst) |
Count the number of network interfaces. | |
Typedefs | |
typedef int(* | net_socket_create_t) (int, int, int) |
A function prototype to create an offloaded socket. | |
typedef void(* | net_if_ip_addr_cb_t) (struct net_if *iface, struct net_if_addr *addr, void *user_data) |
Callback used while iterating over network interface IP addresses. | |
typedef void(* | net_if_ip_maddr_cb_t) (struct net_if *iface, struct net_if_mcast_addr *maddr, void *user_data) |
Callback used while iterating over network interface multicast IP addresses. | |
typedef void(* | net_if_mcast_callback_t) (struct net_if *iface, const struct net_addr *addr, bool is_joined) |
Define a callback that is called whenever a IPv6 or IPv4 multicast address group is joined or left. | |
typedef void(* | net_if_link_callback_t) (struct net_if *iface, struct net_linkaddr *dst, int status) |
Define callback that is called after a network packet has been sent. | |
typedef void(* | net_if_cb_t) (struct net_if *iface, void *user_data) |
Callback used while iterating over network interfaces. | |
Enumerations | |
enum | net_if_flag { NET_IF_UP , NET_IF_POINTOPOINT , NET_IF_PROMISC , NET_IF_NO_AUTO_START , NET_IF_SUSPENDED , NET_IF_FORWARD_MULTICASTS , NET_IF_IPV4 , NET_IF_IPV6 , NET_IF_RUNNING , NET_IF_LOWER_UP , NET_IF_DORMANT , NET_IF_IPV6_NO_ND , NET_IF_IPV6_NO_MLD , NET_IF_NO_TX_LOCK } |
Network interface flags. More... | |
enum | net_if_oper_state { NET_IF_OPER_UNKNOWN , NET_IF_OPER_NOTPRESENT , NET_IF_OPER_DOWN , NET_IF_OPER_LOWERLAYERDOWN , NET_IF_OPER_TESTING , NET_IF_OPER_DORMANT , NET_IF_OPER_UP } |
Network interface operational status (RFC 2863). More... | |
Functions | |
static void | net_if_flag_set (struct net_if *iface, enum net_if_flag value) |
Set a value in network interface flags. | |
static bool | net_if_flag_test_and_set (struct net_if *iface, enum net_if_flag value) |
Test and set a value in network interface flags. | |
static void | net_if_flag_clear (struct net_if *iface, enum net_if_flag value) |
Clear a value in network interface flags. | |
static bool | net_if_flag_test_and_clear (struct net_if *iface, enum net_if_flag value) |
Test and clear a value in network interface flags. | |
static bool | net_if_flag_is_set (struct net_if *iface, enum net_if_flag value) |
Check if a value in network interface flags is set. | |
static enum net_if_oper_state | net_if_oper_state_set (struct net_if *iface, enum net_if_oper_state oper_state) |
Set an operational state on an interface. | |
static enum net_if_oper_state | net_if_oper_state (struct net_if *iface) |
Get an operational state of an interface. | |
enum net_verdict | net_if_send_data (struct net_if *iface, struct net_pkt *pkt) |
Send a packet through a net iface. | |
static const struct net_l2 * | net_if_l2 (struct net_if *iface) |
Get a pointer to the interface L2. | |
enum net_verdict | net_if_recv_data (struct net_if *iface, struct net_pkt *pkt) |
Input a packet through a net iface. | |
static void * | net_if_l2_data (struct net_if *iface) |
Get a pointer to the interface L2 private data. | |
static const struct device * | net_if_get_device (struct net_if *iface) |
Get an network interface's device. | |
void | net_if_queue_tx (struct net_if *iface, struct net_pkt *pkt) |
Queue a packet to the net interface TX queue. | |
static bool | net_if_is_ip_offloaded (struct net_if *iface) |
Return the IP offload status. | |
bool | net_if_is_offloaded (struct net_if *iface) |
Return offload status of a given network interface. | |
static struct net_offload * | net_if_offload (struct net_if *iface) |
Return the IP offload plugin. | |
static bool | net_if_is_socket_offloaded (struct net_if *iface) |
Return the socket offload status. | |
static void | net_if_socket_offload_set (struct net_if *iface, net_socket_create_t socket_offload) |
Set the function to create an offloaded socket. | |
static net_socket_create_t | net_if_socket_offload (struct net_if *iface) |
Return the function to create an offloaded socket. | |
static struct net_linkaddr * | net_if_get_link_addr (struct net_if *iface) |
Get an network interface's link address. | |
static struct net_if_config * | net_if_get_config (struct net_if *iface) |
Return network configuration for this network interface. | |
static void | net_if_start_dad (struct net_if *iface) |
Start duplicate address detection procedure. | |
void | net_if_start_rs (struct net_if *iface) |
Start neighbor discovery and send router solicitation message. | |
static void | net_if_stop_rs (struct net_if *iface) |
Stop neighbor discovery. | |
static void | net_if_nbr_reachability_hint (struct net_if *iface, const struct in6_addr *ipv6_addr) |
Provide a reachability hint for IPv6 Neighbor Discovery. | |
static int | net_if_set_link_addr (struct net_if *iface, uint8_t *addr, uint8_t len, enum net_link_type type) |
Set a network interface's link address. | |
static uint16_t | net_if_get_mtu (struct net_if *iface) |
Get an network interface's MTU. | |
static void | net_if_set_mtu (struct net_if *iface, uint16_t mtu) |
Set an network interface's MTU. | |
static void | net_if_addr_set_lf (struct net_if_addr *ifaddr, bool is_infinite) |
Set the infinite status of the network interface address. | |
struct net_if * | net_if_get_by_link_addr (struct net_linkaddr *ll_addr) |
Get an interface according to link layer address. | |
struct net_if * | net_if_lookup_by_dev (const struct device *dev) |
Find an interface from it's related device. | |
static struct net_if_config * | net_if_config_get (struct net_if *iface) |
Get network interface IP config. | |
void | net_if_router_rm (struct net_if_router *router) |
Remove a router from the system. | |
void | net_if_set_default (struct net_if *iface) |
Set the default network interface. | |
struct net_if * | net_if_get_default (void) |
Get the default network interface. | |
struct net_if * | net_if_get_first_by_type (const struct net_l2 *l2) |
Get the first network interface according to its type. | |
struct net_if * | net_if_get_first_up (void) |
Get the first network interface which is up. | |
int | net_if_config_ipv6_get (struct net_if *iface, struct net_if_ipv6 **ipv6) |
Allocate network interface IPv6 config. | |
int | net_if_config_ipv6_put (struct net_if *iface) |
Release network interface IPv6 config. | |
struct net_if_addr * | net_if_ipv6_addr_lookup (const struct in6_addr *addr, struct net_if **iface) |
Check if this IPv6 address belongs to one of the interfaces. | |
struct net_if_addr * | net_if_ipv6_addr_lookup_by_iface (struct net_if *iface, struct in6_addr *addr) |
Check if this IPv6 address belongs to this specific interfaces. | |
int | net_if_ipv6_addr_lookup_by_index (const struct in6_addr *addr) |
Check if this IPv6 address belongs to one of the interface indices. | |
struct net_if_addr * | net_if_ipv6_addr_add (struct net_if *iface, struct in6_addr *addr, enum net_addr_type addr_type, uint32_t vlifetime) |
Add a IPv6 address to an interface. | |
bool | net_if_ipv6_addr_add_by_index (int index, struct in6_addr *addr, enum net_addr_type addr_type, uint32_t vlifetime) |
Add a IPv6 address to an interface by index. | |
void | net_if_ipv6_addr_update_lifetime (struct net_if_addr *ifaddr, uint32_t vlifetime) |
Update validity lifetime time of an IPv6 address. | |
bool | net_if_ipv6_addr_rm (struct net_if *iface, const struct in6_addr *addr) |
Remove an IPv6 address from an interface. | |
bool | net_if_ipv6_addr_rm_by_index (int index, const struct in6_addr *addr) |
Remove an IPv6 address from an interface by index. | |
void | net_if_ipv6_addr_foreach (struct net_if *iface, net_if_ip_addr_cb_t cb, void *user_data) |
Go through all IPv6 addresses on a network interface and call callback for each used address. | |
struct net_if_mcast_addr * | net_if_ipv6_maddr_add (struct net_if *iface, const struct in6_addr *addr) |
Add a IPv6 multicast address to an interface. | |
bool | net_if_ipv6_maddr_rm (struct net_if *iface, const struct in6_addr *addr) |
Remove an IPv6 multicast address from an interface. | |
void | net_if_ipv6_maddr_foreach (struct net_if *iface, net_if_ip_maddr_cb_t cb, void *user_data) |
Go through all IPv6 multicast addresses on a network interface and call callback for each used address. | |
struct net_if_mcast_addr * | net_if_ipv6_maddr_lookup (const struct in6_addr *addr, struct net_if **iface) |
Check if this IPv6 multicast address belongs to a specific interface or one of the interfaces. | |
void | net_if_mcast_mon_register (struct net_if_mcast_monitor *mon, struct net_if *iface, net_if_mcast_callback_t cb) |
Register a multicast monitor. | |
void | net_if_mcast_mon_unregister (struct net_if_mcast_monitor *mon) |
Unregister a multicast monitor. | |
void | net_if_mcast_monitor (struct net_if *iface, const struct net_addr *addr, bool is_joined) |
Call registered multicast monitors. | |
void | net_if_ipv6_maddr_join (struct net_if *iface, struct net_if_mcast_addr *addr) |
Mark a given multicast address to be joined. | |
static bool | net_if_ipv6_maddr_is_joined (struct net_if_mcast_addr *addr) |
Check if given multicast address is joined or not. | |
void | net_if_ipv6_maddr_leave (struct net_if *iface, struct net_if_mcast_addr *addr) |
Mark a given multicast address to be left. | |
struct net_if_ipv6_prefix * | net_if_ipv6_prefix_get (struct net_if *iface, const struct in6_addr *addr) |
Return prefix that corresponds to this IPv6 address. | |
struct net_if_ipv6_prefix * | net_if_ipv6_prefix_lookup (struct net_if *iface, struct in6_addr *addr, uint8_t len) |
Check if this IPv6 prefix belongs to this interface. | |
struct net_if_ipv6_prefix * | net_if_ipv6_prefix_add (struct net_if *iface, struct in6_addr *prefix, uint8_t len, uint32_t lifetime) |
Add a IPv6 prefix to an network interface. | |
bool | net_if_ipv6_prefix_rm (struct net_if *iface, struct in6_addr *addr, uint8_t len) |
Remove an IPv6 prefix from an interface. | |
static void | net_if_ipv6_prefix_set_lf (struct net_if_ipv6_prefix *prefix, bool is_infinite) |
Set the infinite status of the prefix. | |
void | net_if_ipv6_prefix_set_timer (struct net_if_ipv6_prefix *prefix, uint32_t lifetime) |
Set the prefix lifetime timer. | |
void | net_if_ipv6_prefix_unset_timer (struct net_if_ipv6_prefix *prefix) |
Unset the prefix lifetime timer. | |
bool | net_if_ipv6_addr_onlink (struct net_if **iface, struct in6_addr *addr) |
Check if this IPv6 address is part of the subnet of our network interface. | |
static struct in6_addr * | net_if_router_ipv6 (struct net_if_router *router) |
Get the IPv6 address of the given router. | |
struct net_if_router * | net_if_ipv6_router_lookup (struct net_if *iface, struct in6_addr *addr) |
Check if IPv6 address is one of the routers configured in the system. | |
struct net_if_router * | net_if_ipv6_router_find_default (struct net_if *iface, struct in6_addr *addr) |
Find default router for this IPv6 address. | |
void | net_if_ipv6_router_update_lifetime (struct net_if_router *router, uint16_t lifetime) |
Update validity lifetime time of a router. | |
struct net_if_router * | net_if_ipv6_router_add (struct net_if *iface, struct in6_addr *addr, uint16_t router_lifetime) |
Add IPv6 router to the system. | |
bool | net_if_ipv6_router_rm (struct net_if_router *router) |
Remove IPv6 router from the system. | |
uint8_t | net_if_ipv6_get_hop_limit (struct net_if *iface) |
Get IPv6 hop limit specified for a given interface. | |
void | net_if_ipv6_set_hop_limit (struct net_if *iface, uint8_t hop_limit) |
Set the default IPv6 hop limit of a given interface. | |
uint8_t | net_if_ipv6_get_mcast_hop_limit (struct net_if *iface) |
Get IPv6 multicast hop limit specified for a given interface. | |
void | net_if_ipv6_set_mcast_hop_limit (struct net_if *iface, uint8_t hop_limit) |
Set the default IPv6 multicast hop limit of a given interface. | |
static void | net_if_ipv6_set_base_reachable_time (struct net_if *iface, uint32_t reachable_time) |
Set IPv6 reachable time for a given interface. | |
static uint32_t | net_if_ipv6_get_reachable_time (struct net_if *iface) |
Get IPv6 reachable timeout specified for a given interface. | |
uint32_t | net_if_ipv6_calc_reachable_time (struct net_if_ipv6 *ipv6) |
Calculate next reachable time value for IPv6 reachable time. | |
static void | net_if_ipv6_set_reachable_time (struct net_if_ipv6 *ipv6) |
Set IPv6 reachable time for a given interface. | |
static void | net_if_ipv6_set_retrans_timer (struct net_if *iface, uint32_t retrans_timer) |
Set IPv6 retransmit timer for a given interface. | |
static uint32_t | net_if_ipv6_get_retrans_timer (struct net_if *iface) |
Get IPv6 retransmit timer specified for a given interface. | |
static const struct in6_addr * | net_if_ipv6_select_src_addr (struct net_if *iface, const struct in6_addr *dst) |
Get a IPv6 source address that should be used when sending network data to destination. | |
static const struct in6_addr * | net_if_ipv6_select_src_addr_hint (struct net_if *iface, const struct in6_addr *dst, int flags) |
Get a IPv6 source address that should be used when sending network data to destination. | |
static struct net_if * | net_if_ipv6_select_src_iface (const struct in6_addr *dst) |
Get a network interface that should be used when sending IPv6 network data to destination. | |
struct in6_addr * | net_if_ipv6_get_ll (struct net_if *iface, enum net_addr_state addr_state) |
Get a IPv6 link local address in a given state. | |
struct in6_addr * | net_if_ipv6_get_ll_addr (enum net_addr_state state, struct net_if **iface) |
Return link local IPv6 address from the first interface that has a link local address matching give state. | |
void | net_if_ipv6_dad_failed (struct net_if *iface, const struct in6_addr *addr) |
Stop IPv6 Duplicate Address Detection (DAD) procedure if we find out that our IPv6 address is already in use. | |
struct in6_addr * | net_if_ipv6_get_global_addr (enum net_addr_state state, struct net_if **iface) |
Return global IPv6 address from the first interface that has a global IPv6 address matching the given state. | |
int | net_if_config_ipv4_get (struct net_if *iface, struct net_if_ipv4 **ipv4) |
Allocate network interface IPv4 config. | |
int | net_if_config_ipv4_put (struct net_if *iface) |
Release network interface IPv4 config. | |
uint8_t | net_if_ipv4_get_ttl (struct net_if *iface) |
Get IPv4 time-to-live value specified for a given interface. | |
void | net_if_ipv4_set_ttl (struct net_if *iface, uint8_t ttl) |
Set IPv4 time-to-live value specified to a given interface. | |
uint8_t | net_if_ipv4_get_mcast_ttl (struct net_if *iface) |
Get IPv4 multicast time-to-live value specified for a given interface. | |
void | net_if_ipv4_set_mcast_ttl (struct net_if *iface, uint8_t ttl) |
Set IPv4 multicast time-to-live value specified to a given interface. | |
struct net_if_addr * | net_if_ipv4_addr_lookup (const struct in_addr *addr, struct net_if **iface) |
Check if this IPv4 address belongs to one of the interfaces. | |
struct net_if_addr * | net_if_ipv4_addr_add (struct net_if *iface, struct in_addr *addr, enum net_addr_type addr_type, uint32_t vlifetime) |
Add a IPv4 address to an interface. | |
bool | net_if_ipv4_addr_rm (struct net_if *iface, const struct in_addr *addr) |
Remove a IPv4 address from an interface. | |
int | net_if_ipv4_addr_lookup_by_index (const struct in_addr *addr) |
Check if this IPv4 address belongs to one of the interface indices. | |
bool | net_if_ipv4_addr_add_by_index (int index, struct in_addr *addr, enum net_addr_type addr_type, uint32_t vlifetime) |
Add a IPv4 address to an interface by network interface index. | |
bool | net_if_ipv4_addr_rm_by_index (int index, const struct in_addr *addr) |
Remove a IPv4 address from an interface by interface index. | |
void | net_if_ipv4_addr_foreach (struct net_if *iface, net_if_ip_addr_cb_t cb, void *user_data) |
Go through all IPv4 addresses on a network interface and call callback for each used address. | |
struct net_if_mcast_addr * | net_if_ipv4_maddr_add (struct net_if *iface, const struct in_addr *addr) |
Add a IPv4 multicast address to an interface. | |
bool | net_if_ipv4_maddr_rm (struct net_if *iface, const struct in_addr *addr) |
Remove an IPv4 multicast address from an interface. | |
void | net_if_ipv4_maddr_foreach (struct net_if *iface, net_if_ip_maddr_cb_t cb, void *user_data) |
Go through all IPv4 multicast addresses on a network interface and call callback for each used address. | |
struct net_if_mcast_addr * | net_if_ipv4_maddr_lookup (const struct in_addr *addr, struct net_if **iface) |
Check if this IPv4 multicast address belongs to a specific interface or one of the interfaces. | |
void | net_if_ipv4_maddr_join (struct net_if *iface, struct net_if_mcast_addr *addr) |
Mark a given multicast address to be joined. | |
static bool | net_if_ipv4_maddr_is_joined (struct net_if_mcast_addr *addr) |
Check if given multicast address is joined or not. | |
void | net_if_ipv4_maddr_leave (struct net_if *iface, struct net_if_mcast_addr *addr) |
Mark a given multicast address to be left. | |
static struct in_addr * | net_if_router_ipv4 (struct net_if_router *router) |
Get the IPv4 address of the given router. | |
struct net_if_router * | net_if_ipv4_router_lookup (struct net_if *iface, struct in_addr *addr) |
Check if IPv4 address is one of the routers configured in the system. | |
struct net_if_router * | net_if_ipv4_router_find_default (struct net_if *iface, struct in_addr *addr) |
Find default router for this IPv4 address. | |
struct net_if_router * | net_if_ipv4_router_add (struct net_if *iface, struct in_addr *addr, bool is_default, uint16_t router_lifetime) |
Add IPv4 router to the system. | |
bool | net_if_ipv4_router_rm (struct net_if_router *router) |
Remove IPv4 router from the system. | |
bool | net_if_ipv4_addr_mask_cmp (struct net_if *iface, const struct in_addr *addr) |
Check if the given IPv4 address belongs to local subnet. | |
bool | net_if_ipv4_is_addr_bcast (struct net_if *iface, const struct in_addr *addr) |
Check if the given IPv4 address is a broadcast address. | |
static struct net_if * | net_if_ipv4_select_src_iface (const struct in_addr *dst) |
Get a network interface that should be used when sending IPv4 network data to destination. | |
static const struct in_addr * | net_if_ipv4_select_src_addr (struct net_if *iface, const struct in_addr *dst) |
Get a IPv4 source address that should be used when sending network data to destination. | |
struct in_addr * | net_if_ipv4_get_ll (struct net_if *iface, enum net_addr_state addr_state) |
Get a IPv4 link local address in a given state. | |
struct in_addr * | net_if_ipv4_get_global_addr (struct net_if *iface, enum net_addr_state addr_state) |
Get a IPv4 global address in a given state. | |
struct in_addr | net_if_ipv4_get_netmask_by_addr (struct net_if *iface, const struct in_addr *addr) |
Get IPv4 netmask related to an address of an interface. | |
struct in_addr | net_if_ipv4_get_netmask (struct net_if *iface) |
Get IPv4 netmask of an interface. | |
void | net_if_ipv4_set_netmask (struct net_if *iface, const struct in_addr *netmask) |
Set IPv4 netmask for an interface. | |
bool | net_if_ipv4_set_netmask_by_index (int index, const struct in_addr *netmask) |
Set IPv4 netmask for an interface index. | |
bool | net_if_ipv4_set_netmask_by_addr_by_index (int index, const struct in_addr *addr, const struct in_addr *netmask) |
Set IPv4 netmask for an interface index for a given address. | |
bool | net_if_ipv4_set_netmask_by_addr (struct net_if *iface, const struct in_addr *addr, const struct in_addr *netmask) |
Set IPv4 netmask for an interface index for a given address. | |
void | net_if_ipv4_set_gw (struct net_if *iface, const struct in_addr *gw) |
Set IPv4 gateway for an interface. | |
bool | net_if_ipv4_set_gw_by_index (int index, const struct in_addr *gw) |
Set IPv4 gateway for an interface index. | |
struct net_if * | net_if_select_src_iface (const struct sockaddr *dst) |
Get a network interface that should be used when sending IPv6 or IPv4 network data to destination. | |
void | net_if_register_link_cb (struct net_if_link_cb *link, net_if_link_callback_t cb) |
Register a link callback. | |
void | net_if_unregister_link_cb (struct net_if_link_cb *link) |
Unregister a link callback. | |
void | net_if_call_link_cb (struct net_if *iface, struct net_linkaddr *lladdr, int status) |
Call a link callback function. | |
bool | net_if_need_calc_rx_checksum (struct net_if *iface) |
Check if received network packet checksum calculation can be avoided or not. | |
bool | net_if_need_calc_tx_checksum (struct net_if *iface) |
Check if network packet checksum calculation can be avoided or not when sending the packet. | |
struct net_if * | net_if_get_by_index (int index) |
Get interface according to index. | |
int | net_if_get_by_iface (struct net_if *iface) |
Get interface index according to pointer. | |
void | net_if_foreach (net_if_cb_t cb, void *user_data) |
Go through all the network interfaces and call callback for each interface. | |
int | net_if_up (struct net_if *iface) |
Bring interface up. | |
static bool | net_if_is_up (struct net_if *iface) |
Check if interface is is up and running. | |
int | net_if_down (struct net_if *iface) |
Bring interface down. | |
static bool | net_if_is_admin_up (struct net_if *iface) |
Check if interface was brought up by the administrator. | |
void | net_if_carrier_on (struct net_if *iface) |
Underlying network device has detected the carrier (cable connected). | |
void | net_if_carrier_off (struct net_if *iface) |
Underlying network device has lost the carrier (cable disconnected). | |
static bool | net_if_is_carrier_ok (struct net_if *iface) |
Check if carrier is present on network device. | |
void | net_if_dormant_on (struct net_if *iface) |
Mark interface as dormant. | |
void | net_if_dormant_off (struct net_if *iface) |
Mark interface as not dormant. | |
static bool | net_if_is_dormant (struct net_if *iface) |
Check if the interface is dormant. | |
static int | net_if_set_promisc (struct net_if *iface) |
Set network interface into promiscuous mode. | |
static void | net_if_unset_promisc (struct net_if *iface) |
Set network interface into normal mode. | |
static bool | net_if_is_promisc (struct net_if *iface) |
Check if promiscuous mode is set or not. | |
static bool | net_if_are_pending_tx_packets (struct net_if *iface) |
Check if there are any pending TX network data for a given network interface. | |
bool | net_if_is_wifi (struct net_if *iface) |
Check if the network interface supports Wi-Fi. | |
struct net_if * | net_if_get_first_wifi (void) |
Get first Wi-Fi network interface. | |
int | net_if_get_name (struct net_if *iface, char *buf, int len) |
Get network interface name. | |
int | net_if_set_name (struct net_if *iface, const char *buf) |
Set network interface name. | |
int | net_if_get_by_name (const char *name) |
Get interface index according to its name. | |
Public API for network interface.