hsi: host stack intercept plugin

Enable selective punting of flows to host stack

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib31a3abfe3b21a2aa448bfacc4591fa5c840f935
This commit is contained in:
Florin Coras
2021-06-07 11:41:21 -07:00
committed by Dave Barach
parent 61e26be8ed
commit 68501d369c
6 changed files with 458 additions and 0 deletions

View File

@@ -763,6 +763,11 @@ I: bufmon
M: Benoît Ganne <bganne@cisco.com>
F: src/plugins/bufmon/
Plugin - HSI
I: hsi
M: Florin Coras <fcoras@cisco.com>
F: src/plugins/hsi/
cJSON
I: cjson
M: Ole Troan <ot@cisco.com>

View File

@@ -0,0 +1,17 @@
# Copyright (c) 2021 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
add_vpp_plugin(hsi
SOURCES
hsi.c
)

View File

@@ -0,0 +1,8 @@
---
name: HSI (Host Stack Intercept)
maintainer: Florin Coras <fcoras@cisco.com>
features:
- Host stack intercept feature
description: "Feature that enables selective punting of flows to the host stack"
state: experimental
properties: [MULTITHREAD]

383
src/plugins/hsi/hsi.c Normal file

File diff suppressed because it is too large Load Diff

29
src/plugins/hsi/hsi.h Normal file
View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2021 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef SRC_PLUGINS_HSI_HSI_H_
#define SRC_PLUGINS_HSI_HSI_H_
#include <vnet/session/session.h>
typedef enum _hsi_error
{
#define hsi_error(n, s) HSI_ERROR_##n,
#include <hsi/hsi_error.def>
#undef hsi_error
HSI_N_ERROR,
} hsi_error_t;
#endif /* SRC_PLUGINS_HSI_HSI_H_ */

View File

@@ -0,0 +1,16 @@
/*
* Copyright (c) 2021 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
hsi_error (NONE, "no error")