aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/unix/tuntap.h
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2017-01-14 10:30:50 -0500
committerDave Barach <dave@barachs.net>2017-01-14 10:36:37 -0500
commit2feaffcb4af8e311b56328015bcfd82f5b15626c (patch)
tree59cdebbb5c0a4d3c41b8bea8c69a2328b97182f6 /src/vnet/unix/tuntap.h
parent878c609889dcdc58538d40d8b3f662320f88573d (diff)
Provision linux stack ip4 and ip6 addresses for tap interfaces
To simplify system configuration. Converted existing code to use an argument structure, instead of [one or two too many] discrete parameters. Change-Id: I3eddfa74eeed918c1b04a6285fba494651594332 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vnet/unix/tuntap.h')
-rw-r--r--src/vnet/unix/tuntap.h51
1 files changed, 42 insertions, 9 deletions
diff --git a/src/vnet/unix/tuntap.h b/src/vnet/unix/tuntap.h
index d7f96cae..7c2d5510 100644
--- a/src/vnet/unix/tuntap.h
+++ b/src/vnet/unix/tuntap.h
@@ -22,15 +22,48 @@
*/
void register_tuntap_inject_node_name (char *name);
-int vnet_tap_connect (vlib_main_t * vm, u8 * intfc_name,
- u8 *hwaddr_arg, u32 * sw_if_indexp);
-int vnet_tap_connect_renumber (vlib_main_t * vm, u8 * intfc_name,
- u8 *hwaddr_arg, u32 * sw_if_indexp,
- u8 renumber, u32 custom_dev_instance);
+/** arguments structure for vnet_tap_connect, vnet_tap_connect_renumber, etc.
+ */
+
+typedef struct
+{
+ /** Interface name */
+ u8 *intfc_name;
+ /** Mac address */
+ u8 *hwaddr_arg;
+ /** Please set the indicated ip4 address/mask on the interface */
+ u8 ip4_address_set;
+ /** Please set the indicated ip4 address/mask on the interface */
+ u8 ip6_address_set;
+ /** Renumber the (existing) interface */
+ u8 renumber;
+ /** (optional) ip4 address to set */
+ ip4_address_t *ip4_address;
+ /** (optional) ip4 mask width to set */
+ u32 ip4_mask_width;
+ /** (optional) ip6 address to set */
+ ip6_address_t *ip6_address;
+ /** (optional) ip6 mask width to set */
+ u32 ip6_mask_width;
+ /** Output parameter: result sw_if_index */
+ u32 *sw_if_indexp;
+ /** Custom device instance */
+ u32 custom_dev_instance;
+ /** original sw_if_index (renumber) */
+ u32 orig_sw_if_index;
+} vnet_tap_connect_args_t;
+
+/** Connect a tap interface */
+int vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t *args);
+/** Connect / renumber a tap interface */
+int vnet_tap_connect_renumber (vlib_main_t * vm,
+ vnet_tap_connect_args_t *args);
+
+/** Modify a tap interface */
+int vnet_tap_modify (vlib_main_t * vm, vnet_tap_connect_args_t *args);
+
+/** delete a tap interface */
int vnet_tap_delete(vlib_main_t *vm, u32 sw_if_index);
-int vnet_tap_modify (vlib_main_t * vm, u32 orig_sw_if_index,
- u8 * intfc_name, u8 *hwaddr_arg,
- u32 * sw_if_indexp,
- u8 renumber, u32 custom_dev_instance);
+