Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
Virtual Network Interface. More...
#include <kernel.h>
#include <zephyr/types.h>
#include <stdbool.h>
#include <sys/atomic.h>
#include <net/net_ip.h>
#include <net/net_pkt.h>
#include <sys/util.h>
#include <net/net_if.h>
Go to the source code of this file.
Data Structures | |
struct | virtual_interface_api |
struct | virtual_interface_context |
Macros | |
#define | NET_VIRTUAL_INTERFACE_INIT(dev_name, drv_name, init_fn, pm_control_fn, data, cfg, prio, api, mtu) |
Create a virtual network interface. Binding to another interface is done at runtime by calling net_virtual_interface_attach(). The attaching is done automatically when setting up tunneling when peer IP address is set in IP tunneling driver. More... | |
Enumerations | |
enum | virtual_interface_caps { VIRTUAL_INTERFACE_IPIP = BIT(1) } |
Functions | |
int | net_virtual_interface_attach (struct net_if *virtual_iface, struct net_if *iface) |
Attach virtual network interface to the given network interface. More... | |
struct net_if * | net_virtual_get_iface (struct net_if *iface) |
Return network interface related to this virtual network interface. The returned network interface is below this virtual network interface. More... | |
char * | net_virtual_get_name (struct net_if *iface, char *buf, size_t len) |
Return the name of the virtual network interface L2. More... | |
void | net_virtual_set_name (struct net_if *iface, const char *name) |
Set the name of the virtual network interface L2. More... | |
enum net_l2_flags | net_virtual_set_flags (struct net_if *iface, enum net_l2_flags flags) |
Set the L2 flags of the virtual network interface. More... | |
enum net_verdict | net_virtual_input (struct net_if *input_iface, struct net_addr *remote_addr, struct net_pkt *pkt) |
Feed the IP pkt to stack if tunneling is enabled. More... | |
Virtual Network Interface.