summaryrefslogtreecommitdiffstats
path: root/extras/router-plugin/devices/rtnetlink/netns.h
diff options
context:
space:
mode:
Diffstat (limited to 'extras/router-plugin/devices/rtnetlink/netns.h')
-rw-r--r--extras/router-plugin/devices/rtnetlink/netns.h152
1 files changed, 0 insertions, 152 deletions
diff --git a/extras/router-plugin/devices/rtnetlink/netns.h b/extras/router-plugin/devices/rtnetlink/netns.h
deleted file mode 100644
index b94356c3b..000000000
--- a/extras/router-plugin/devices/rtnetlink/netns.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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 NETNS_H_
-#define NETNS_H_
-
-#include <vlib/vlib.h>
-
-#include <linux/netlink.h>
-#include <linux/rtnetlink.h>
-#include <net/if.h>
-#include <sys/socket.h>
-
-#include "rtnl.h"
-
-/*include it for 'struct mpls_label'*/
-#include <linux/mpls.h>
-/*so far depth is fixed, looking into ways to be dynamic*/
-#define MPLS_STACK_DEPTH 7
-
-typedef struct
-{
- struct ifinfomsg ifi;
- u8 hwaddr[IFHWADDRLEN];
- u8 broadcast[IFHWADDRLEN];
- u8 ifname[IFNAMSIZ];
- u32 mtu;
- u32 master;
- u8 qdisc[IFNAMSIZ];
- struct rtnl_link_stats
- stats; // This struct is big and only comes as a response to a request
- f64 last_updated;
-} ns_link_t;
-
-typedef struct
-{
- struct rtmsg rtm;
- u8 dst[16];
- u8 src[16];
- u8 via[16];
- u8 prefsrc[16];
- u32 iif;
- u32 oif;
- u32 table;
- u8 gateway[16];
- u32 priority;
- struct rta_cacheinfo cacheinfo;
- struct mpls_label encap[MPLS_STACK_DEPTH];
- f64 last_updated;
-} ns_route_t;
-
-typedef struct
-{
- struct ifaddrmsg ifaddr;
- u8 addr[16];
- u8 local[16];
- u8 label[IFNAMSIZ];
- u8 broadcast[16];
- u8 anycast[16];
- struct ifa_cacheinfo cacheinfo;
- f64 last_updated;
-} ns_addr_t;
-
-typedef struct
-{
- struct ndmsg nd;
- u8 dst[16];
- u8 lladdr[IFHWADDRLEN];
- u32 probes;
- struct nda_cacheinfo cacheinfo;
- f64 last_updated;
-} ns_neigh_t;
-
-typedef struct
-{
- char name[RTNL_NETNS_NAMELEN + 1];
- ns_link_t *links;
- ns_route_t *routes;
- ns_addr_t *addresses;
- ns_neigh_t *neighbors;
-} netns_t;
-
-typedef enum
-{
- NETNS_TYPE_LINK,
- NETNS_TYPE_ROUTE,
- NETNS_TYPE_ADDR,
- NETNS_TYPE_NEIGH,
-} netns_type_t;
-
-// Flags used in notification functions call
-#define NETNS_F_ADD 0x01
-#define NETNS_F_DEL 0x02
-
-typedef struct
-{
- void (*notify) (void *obj, netns_type_t type, u32 flags, uword opaque);
- uword opaque;
-} netns_sub_t;
-
-/*
- * Subscribe for events related to the given namespace.
- * When another subscriber already uses the namespace,
- * this call will not trigger updates for already
- * existing routes (This is to protect against
- * synch. Vs asynch. issues).
- */
-u32 netns_open (char *name, netns_sub_t *sub);
-
-/*
- * Retrieves the namespace structure associated with a
- * given namespace handler.
- */
-netns_t *netns_getns (u32 handle);
-
-/*
- * Terminates a subscriber session.
- */
-void netns_close (u32 handle);
-
-/*
- * Calls the callback associated with the handle
- * for all existing objects with the flags
- * set to (del?NETNS_F_DEL:NETNS_F_ADD).
- */
-void netns_callme (u32 handle, char del);
-
-/*
- * netns struct format functions.
- * Taking the struct as single argument.
- */
-u8 *format_ns_neigh (u8 *s, va_list *args);
-u8 *format_ns_addr (u8 *s, va_list *args);
-u8 *format_ns_route (u8 *s, va_list *args);
-u8 *format_ns_link (u8 *s, va_list *args);
-
-u8 *format_ns_object (u8 *s, va_list *args);
-u8 *format_ns_flags (u8 *s, va_list *args);
-
-#endif