Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Virtual Network Interface. More...
#include <zephyr/kernel.h>
#include <zephyr/types.h>
#include <stdbool.h>
#include <zephyr/sys/atomic.h>
#include <zephyr/net/net_ip.h>
#include <zephyr/net/net_pkt.h>
#include <zephyr/sys/util.h>
#include <zephyr/net/net_if.h>
Go to the source code of this file.
Data Structures | |
struct | virtual_interface_api |
Virtual L2 API operations. More... | |
struct | virtual_interface_context |
Virtual L2 context that is needed to binding to the real network interface. More... | |
Macros | |
#define | NET_VIRTUAL_INTERFACE_INIT(dev_id, name, init_fn, pm, data, config, prio, api, mtu) |
Create a virtual network interface. | |
#define | NET_VIRTUAL_INTERFACE_INIT_INSTANCE(dev_id, name, inst, init_fn, pm, data, config, prio, api, mtu) |
Create a virtual network interface. | |
Enumerations | |
enum | virtual_interface_caps { VIRTUAL_INTERFACE_IPIP = BIT(1) , VIRTUAL_INTERFACE_VLAN = BIT(2) } |
Virtual interface capabilities. More... | |
Functions | |
int | net_virtual_interface_attach (struct net_if *virtual_iface, struct net_if *iface) |
Attach virtual network interface to the given network interface. | |
struct net_if * | net_virtual_get_iface (struct net_if *iface) |
Return network interface related to this virtual network interface. | |
char * | net_virtual_get_name (struct net_if *iface, char *buf, size_t len) |
Return the name of the virtual network interface L2. | |
void | net_virtual_set_name (struct net_if *iface, const char *name) |
Set the name of the virtual network interface L2. | |
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. | |
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. | |
Virtual Network Interface.