diff options
Diffstat (limited to 'extras/router-plugin/rtinject/tap_inject.h')
-rw-r--r-- | extras/router-plugin/rtinject/tap_inject.h | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/extras/router-plugin/rtinject/tap_inject.h b/extras/router-plugin/rtinject/tap_inject.h deleted file mode 100644 index 6226a0aad..000000000 --- a/extras/router-plugin/rtinject/tap_inject.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2016 Intel Corporation - * - * 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 _TAP_INJECT_H -#define _TAP_INJECT_H - -#include <vnet/ip/ip.h> -#include <vnet/plugin/plugin.h> - -#ifndef ETHER_ADDR_LEN -#define ETHER_ADDR_LEN 6 -#endif - -typedef struct -{ - /* - * tap-inject can be enabled or disabled in config file or during runtime. - * When disabled in config, it is not possible to enable during runtime. - * - * When the netlink-only option is used, netlink configuration is monitored - * and mirrored to the data plane but no traffic is passed between the host - * and the data plane. - */ -#define TAP_INJECT_F_CONFIG_ENABLE (1U << 0) -#define TAP_INJECT_F_CONFIG_DISABLE (1U << 1) -#define TAP_INJECT_F_CONFIG_NETLINK (1U << 2) -#define TAP_INJECT_F_ENABLED (1U << 3) - - u32 flags; - - u32 *sw_if_index_to_tap_fd; - u32 *sw_if_index_to_tap_if_index; - u32 *tap_fd_to_sw_if_index; - u32 *tap_if_index_to_sw_if_index; - - u32 *interfaces_to_enable; - u32 *interfaces_to_disable; - - u32 *rx_file_descriptors; - - u32 rx_node_index; - u32 tx_node_index; - u32 neighbor_node_index; - - u32 *rx_buffers; - -} tap_inject_main_t; - -tap_inject_main_t *tap_inject_get_main (void); - -void tap_inject_insert_tap (u32 sw_if_index, u32 tap_fd, u32 tap_if_index); -void tap_inject_delete_tap (u32 sw_if_index); - -u32 tap_inject_lookup_tap_fd (u32 sw_if_index); -u32 tap_inject_lookup_sw_if_index_from_tap_fd (u32 tap_fd); -u32 tap_inject_lookup_sw_if_index_from_tap_if_index (u32 tap_if_index); - -static inline int -tap_inject_is_enabled (void) -{ - tap_inject_main_t *im = tap_inject_get_main (); - - return !!(im->flags & TAP_INJECT_F_ENABLED); -} - -static inline int -tap_inject_is_config_enabled (void) -{ - tap_inject_main_t *im = tap_inject_get_main (); - - return !!(im->flags & TAP_INJECT_F_CONFIG_ENABLE); -} - -static inline int -tap_inject_is_config_disabled (void) -{ - tap_inject_main_t *im = tap_inject_get_main (); - - return !!(im->flags & TAP_INJECT_F_CONFIG_DISABLE); -} - -/* Netlink */ - -void tap_inject_enable_netlink (void); - -/* Tap */ - -clib_error_t *tap_inject_tap_connect (vnet_hw_interface_t *hw); -clib_error_t *tap_inject_tap_disconnect (u32 sw_if_index); - -u8 *format_tap_inject_tap_name (u8 *s, va_list *args); - -#endif /* _TAP_INJECT_H */ |