API: Fix shared memory only action handlers.

Some API action handlers called vl_msg_ai_send_shmem()
directly. That breaks Unix domain socket API transport.

A couple (bond / vhost) also tried to send a sw_interface_event
directly, but did not send the message to all that had
registred interest. That scheme never worked correctly.
Refactored and improved the interface event code.

Change-Id: Idb90edfd8703c6ae593b36b4eeb4d3ed7da5c808
Signed-off-by: Ole Troan <ot@cisco.com>
This commit is contained in:
Ole Troan
2019-04-10 09:44:23 +02:00
committed by Dave Wallace
parent 13464f323a
commit 2e1c8967fa
18 changed files with 195 additions and 411 deletions

View File

@@ -92,8 +92,8 @@ class TesVhostInterface(VppTestCase):
vhost_if.add_vpp_config()
self.sleep(0.1)
events = self.vapi.collect_events()
# creating interface doesn't currently create events
self.assert_equal(len(events), 0, "number of events")
# creating interface does now create events
self.assert_equal(len(events), 1, "number of events")
vhost_if.admin_up()
vhost_if.assert_interface_state(1, 0, expect_event=True)