summaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorNeale Ranns <neale.ranns@cisco.com>2017-08-07 07:53:49 -0700
committerFlorin Coras <florin.coras@gmail.com>2017-08-11 02:58:30 +0000
commita07bd708002a9c3d3c584f0d692deed1a758b517 (patch)
treebb82468f5430cf47d9eb305d826aa5eb2082fa00 /src/vnet
parente8bad978a107bf312e194ba488603f074351e29e (diff)
Dedicated SW Interface Event
Change-Id: I06a10a4291e61aec3f1396d2514ed6fe3901897a Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/devices/virtio/vhost_user_api.c6
-rw-r--r--src/vnet/interface.api19
-rw-r--r--src/vnet/interface_api.c8
-rw-r--r--src/vnet/unix/tap_api.c6
4 files changed, 26 insertions, 13 deletions
diff --git a/src/vnet/devices/virtio/vhost_user_api.c b/src/vnet/devices/virtio/vhost_user_api.c
index 8dbd032b117..3f0aac9eebf 100644
--- a/src/vnet/devices/virtio/vhost_user_api.c
+++ b/src/vnet/devices/virtio/vhost_user_api.c
@@ -52,11 +52,11 @@ _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump)
* WARNING: replicated pending api refactor completion
*/
static void
-send_sw_interface_flags_deleted (vpe_api_main_t * am,
+send_sw_interface_event_deleted (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 sw_if_index)
{
- vl_api_sw_interface_set_flags_t *mp;
+ vl_api_sw_interface_event_t *mp;
mp = vl_msg_api_alloc (sizeof (*mp));
memset (mp, 0, sizeof (*mp));
@@ -143,7 +143,7 @@ vl_api_delete_vhost_user_if_t_handler (vl_api_delete_vhost_user_if_t * mp)
return;
vnet_clear_sw_interface_tag (vnm, sw_if_index);
- send_sw_interface_flags_deleted (vam, q, sw_if_index);
+ send_sw_interface_event_deleted (vam, q, sw_if_index);
}
}
diff --git a/src/vnet/interface.api b/src/vnet/interface.api
index 14ff6d5a522..a18907065a5 100644
--- a/src/vnet/interface.api
+++ b/src/vnet/interface.api
@@ -4,7 +4,6 @@
@param sw_if_index - index of the interface to set flags on
@param admin_up_down - set the admin state, 1 = up, 0 = down
@param link_up_down - Oper state sent on change event, not used in config.
- @param deleted - interface was deleted
*/
autoreply define sw_interface_set_flags
{
@@ -13,8 +12,6 @@ autoreply define sw_interface_set_flags
u32 sw_if_index;
/* 1 = up, 0 = down */
u8 admin_up_down;
- u8 link_up_down;
- u8 deleted;
};
/** \brief Set interface MTU
@@ -31,6 +28,22 @@ autoreply define sw_interface_set_mtu
u16 mtu;
};
+/** \brief Interface Event generated by want_interface_events
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - index of the interface of the event
+ @param admin_up_down - The administrative state; 1 = up, 0 = down
+ @param link_up_down - The operational state; 1 = up, 0 = down
+ @param deleted - interface was deleted
+*/
+define sw_interface_event
+{
+ u32 context;
+ u32 sw_if_index;
+ u8 admin_up_down;
+ u8 link_up_down;
+ u8 deleted;
+};
+
/** \brief Register for interface events
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c
index ab0b255ab5a..c56fef688e7 100644
--- a/src/vnet/interface_api.c
+++ b/src/vnet/interface_api.c
@@ -571,18 +571,18 @@ event_data_cmp (void *a1, void *a2)
}
static void
-send_sw_interface_flags (vpe_api_main_t * am,
+send_sw_interface_event (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
vnet_sw_interface_t * swif)
{
- vl_api_sw_interface_set_flags_t *mp;
+ vl_api_sw_interface_event_t *mp;
vnet_main_t *vnm = am->vnet_main;
vnet_hw_interface_t *hi = vnet_get_sup_hw_interface (vnm,
swif->sw_if_index);
mp = vl_msg_api_alloc (sizeof (*mp));
memset (mp, 0, sizeof (*mp));
- mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
+ mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_EVENT);
mp->sw_if_index = ntohl (swif->sw_if_index);
mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
@@ -638,7 +638,7 @@ link_state_process (vlib_main_t * vm,
event_data[i]))
{
swif = vnet_get_sw_interface (vnm, event_data[i]);
- send_sw_interface_flags (vam, q, swif);
+ send_sw_interface_event (vam, q, swif);
}
}
}));
diff --git a/src/vnet/unix/tap_api.c b/src/vnet/unix/tap_api.c
index 9b8d52a621e..7e812c4fa17 100644
--- a/src/vnet/unix/tap_api.c
+++ b/src/vnet/unix/tap_api.c
@@ -59,11 +59,11 @@ _(SW_INTERFACE_TAP_DUMP, sw_interface_tap_dump)
* WARNING: replicated pending api refactor completion
*/
static void
-send_sw_interface_flags_deleted (vpe_api_main_t * am,
+send_sw_interface_event_deleted (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 sw_if_index)
{
- vl_api_sw_interface_set_flags_t *mp;
+ vl_api_sw_interface_event_t *mp;
mp = vl_msg_api_alloc (sizeof (*mp));
memset (mp, 0, sizeof (*mp));
@@ -196,7 +196,7 @@ vl_api_tap_delete_t_handler (vl_api_tap_delete_t * mp)
vl_msg_api_send_shmem (q, (u8 *) & rmp);
if (!rv)
- send_sw_interface_flags_deleted (vam, q, sw_if_index);
+ send_sw_interface_event_deleted (vam, q, sw_if_index);
}
static void