12#ifndef ZEPHYR_INCLUDE_NET_VIRTUAL_MGMT_H_
13#define ZEPHYR_INCLUDE_NET_VIRTUAL_MGMT_H_
33#define NET_VIRTUAL_INTERFACE_LAYER NET_MGMT_LAYER_L2
34#define NET_VIRTUAL_INTERFACE_CODE NET_MGMT_LAYER_CODE_VIRTUAL
35#define NET_VIRTUAL_INTERFACE_BASE \
36 (NET_MGMT_IFACE_BIT | \
37 NET_MGMT_LAYER(NET_VIRTUAL_INTERFACE_LAYER) | \
38 NET_MGMT_LAYER_CODE(NET_VIRTUAL_INTERFACE_CODE))
39#define NET_VIRTUAL_INTERFACE_EVENT \
40 (NET_VIRTUAL_INTERFACE_BASE | NET_MGMT_EVENT_BIT)
42struct virtual_interface_req_params {
48 struct virtual_interface_link_types link_types;
55 uint8_t data[NET_VIRTUAL_MAX_PUBLIC_KEY_LEN];
60enum net_request_virtual_interface_cmd {
61 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_PEER_ADDR = 1,
62 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_PEER_ADDR,
63 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_MTU,
64 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_MTU,
65 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_LINK_TYPE,
66 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_LINK_TYPE,
67 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_PRIVATE_KEY,
68 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_PUBLIC_KEY,
71#define NET_REQUEST_VIRTUAL_INTERFACE_SET_PEER_ADDRESS \
72 (NET_VIRTUAL_INTERFACE_BASE | \
73 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_PEER_ADDR)
77#define NET_REQUEST_VIRTUAL_INTERFACE_SET_MTU \
78 (NET_VIRTUAL_INTERFACE_BASE | \
79 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_MTU)
83#define NET_REQUEST_VIRTUAL_INTERFACE_SET_LINK_TYPE \
84 (NET_VIRTUAL_INTERFACE_BASE | \
85 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_LINK_TYPE)
89#define NET_REQUEST_VIRTUAL_INTERFACE_GET_PEER_ADDRESS \
90 (NET_VIRTUAL_INTERFACE_BASE | \
91 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_PEER_ADDR)
95#define NET_REQUEST_VIRTUAL_INTERFACE_GET_MTU \
96 (NET_VIRTUAL_INTERFACE_BASE | \
97 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_MTU)
101#define NET_REQUEST_VIRTUAL_INTERFACE_GET_LINK_TYPE \
102 (NET_VIRTUAL_INTERFACE_BASE | \
103 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_LINK_TYPE)
107#define NET_REQUEST_VIRTUAL_INTERFACE_SET_PRIVATE_KEY \
108 (NET_VIRTUAL_INTERFACE_BASE | \
109 NET_REQUEST_VIRTUAL_INTERFACE_CMD_SET_PRIVATE_KEY)
113#define NET_REQUEST_VIRTUAL_INTERFACE_GET_PUBLIC_KEY \
114 (NET_VIRTUAL_INTERFACE_BASE | \
115 NET_REQUEST_VIRTUAL_INTERFACE_CMD_GET_PUBLIC_KEY)
unsigned short int sa_family_t
Socket address family type.
Definition net_ip.h:168
#define NET_MGMT_DEFINE_REQUEST_HANDLER(_mgmt_request)
Declare a request handler function for the given network event.
Definition net_mgmt.h:136
Network Management API public header.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
IPv6 address struct.
Definition net_ip.h:143
IPv4 address struct.
Definition net_ip.h:155
Network Interface structure.
Definition net_if.h:714
Virtual Network Interface.