summaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/avf_api.c
AgeCommit message (Collapse)AuthorFilesLines
2022-05-19api: refactor api data storageDamjan Marion1-1/+1
single struct to hold all api handler, flags, etc. Provide functions to toggle flags instead of writing directly to internal data. Type: refactor Change-Id: I4730d7290e57489de8eda34a72211527e015b721 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-03api: refactor to use REPLY_MSG_ID_BASE #defineKlement Sekera1-5/+4
REPLY_MSG_ID_BASE is the standard way to define reply message id base, so this refactor makes all the files use that. This is a preparation patch for future safety add-ons which rely on REPLY_MACRO* parameters to be preprocessor tokens identifying the message instead, Type: refactor Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ibe3e056a3d9326d08af45bbcb25588b11e870141
2021-04-08avf: correctly set VL_API_AVF_DELETE is_mp_safeSteven Luong1-2/+3
Need to add msg_id_base with VL_API_AVF_DELETE to properly set the correct is_mp_safe variable. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I20f6e9441727fb7ffc132965b93c0a90482e1a52
2020-09-11avf: fix race between avf process node and avf_delete_if(...)Damjan Marion1-4/+5
It may happen that process node is suspended while it waits for response from adminq and during that time CLI or API process can call avf_delete_if. When avf process node resumes, it may happen that device is not there anymeore. This patch delegates interface deletion to process node, so CLI/API process just sends signal instead of deleting device instance itself. Type: fix Change-Id: I7f12e12df3071650f6e60ad7eb5af23b7acfe335 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-27avf: remote api boilerplateOle Troan1-62/+4
Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Iafa1c0d0c1195f88b1a55f0341459c3278c3b2e6 Signed-off-by: Ole Troan <ot@cisco.com>
2019-07-23api: binary api cleanupDave Barach1-1/+3
Multiple API message handlers call vnet_get_sup_hw_interface(...) without checking the inbound sw_if_index. This can cause a pool_elt_at_index ASSERT in a debug image, and major disorder in a production image. Given that a number of places are coded as follows, add an "api_visible_or_null" variant of vnet_get_sup_hw_interface, which returns NULL given an invalid sw_if_index, or a hidden sw interface: - hw = vnet_get_sup_hw_interface (vnm, sw_if_index); + hw = vnet_get_sup_hw_interface_api_visible_or_null (vnm, sw_if_index); if (hw == NULL || memif_device_class.index != hw->dev_class_index) return clib_error_return (0, "not a memif interface"); Rename two existing xxx_safe functions -> xxx_or_null to make it obvious what they return. Type: fix Change-Id: I29996e8d0768fd9e0c5495bd91ff8bedcf2c5697 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-23c11 safe string handling supportDave Barach1-1/+1
Change-Id: Ied34720ca5a6e6e717eea4e86003e854031b6eab Signed-off-by: Dave Barach <dave@barachs.net>
2018-08-30avf: RSS supportJakub Grajciar1-0/+1
Change-Id: I59b8f08789f0704d6768258348e938da67e5b15b Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-25avf: api fixJakub Grajciar1-5/+9
avf_create_reply returns software index for the new interface Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-06-27avf: binary API and configurable RX/TX queue sizeJakub Grajciar1-0/+161
Change-Id: Ibd3a8d28d8f1df2bc14c42e48498f6ac26081192 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>