|
Zephyr Project API 4.0.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_BRIDGE = BIT(3) } |
| 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.