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 0x209
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:111
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.