aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/avf.h
diff options
context:
space:
mode:
authorChenmin Sun <chenmin.sun@intel.com>2020-11-19 22:58:08 +0800
committerDamjan Marion <dmarion@me.com>2021-03-25 15:56:59 +0000
commitc2d30ade27b2b6e75b33724ff198c1fb3f4e71ff (patch)
tree73c42888d5844169fabf243fdfd491d56757e3f1 /src/plugins/avf/avf.h
parent7df43dc2ce887a253383a311da72e3430e91d01e (diff)
avf: introduce program flow event
This patch introduces a 'program flow' virtchannel event. The parameter is_add is used to identify adding or deleting the rule from avf Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I1f5545ddc23e4494a25afa36ff601607405a8c3d
Diffstat (limited to 'src/plugins/avf/avf.h')
-rw-r--r--src/plugins/avf/avf.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/avf/avf.h b/src/plugins/avf/avf.h
index 23cc36c4882..53e1275ea62 100644
--- a/src/plugins/avf/avf.h
+++ b/src/plugins/avf/avf.h
@@ -246,6 +246,7 @@ typedef enum
{
AVF_PROCESS_REQ_ADD_DEL_ETH_ADDR = 1,
AVF_PROCESS_REQ_CONFIG_PROMISC_MDDE = 2,
+ AVF_PROCESS_REQ_PROGRAM_FLOW = 3,
} avf_process_req_type_t;
typedef struct
@@ -255,6 +256,13 @@ typedef struct
u32 calling_process_index;
u8 eth_addr[6];
int is_add, is_enable;
+
+ /* below parameters are used for 'program flow' event */
+ u8 *rule;
+ u32 rule_len;
+ u8 *program_status;
+ u32 status_len;
+
clib_error_t *error;
} avf_process_req_t;
@@ -303,6 +311,10 @@ extern vlib_node_registration_t avf_input_node;
extern vlib_node_registration_t avf_process_node;
extern vnet_device_class_t avf_device_class;
+clib_error_t *avf_program_flow (u32 dev_instance, int is_add, u8 *rule,
+ u32 rule_len, u8 *program_status,
+ u32 status_len);
+
/* format.c */
format_function_t format_avf_device;
format_function_t format_avf_device_name;