mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-05 14:18:52 +00:00

Revert "zebra: support for macvlan interfaces" This reverts commitbf69e212fd
. Revert "doc: add some documentation about bgp evpn netns support" This reverts commit89b97c33d7
. Revert "zebra: dynamically detect vxlan link interfaces in other netns" This reverts commitde0ebb2540
. Revert "bgpd: sanity check when updating nexthop from bgp to zebra" This reverts commitee9633ed87
. Revert "lib, zebra: reuse and adapt ns_list walk functionality" This reverts commitc4d466c830
. Revert "zebra: local mac entries populated in correct netnamespace" This reverts commit4042454891
. Revert "zebra: when parsing local entry against dad, retrieve config" This reverts commit3acc394bc5
. Revert "bgpd: evpn nexthop can be changed by default" This reverts commita2342a2412
. Revert "zebra: zvni_map_to_vlan() adaptation for all namespaces" This reverts commitdb81d18647
. Revert "zebra: add ns_id attribute to mac structure" This reverts commit388d5b438e
. Revert "zebra: bridge layer2 information records ns_id where bridge is" This reverts commitb5b453a2d6
. Revert "zebra, lib: new API to get absolute netns val from relative netns val" This reverts commitb6ebab34f6
. Revert "zebra, lib: store relative default ns id in each namespace" This reverts commit9d3555e06c
. Revert "zebra, lib: add an internal API to get relative default nsid in other ns" This reverts commit97c9e7533b
. Revert "zebra: map vxlan interface to bridge interface with correct ns id" This reverts commit7c990878f2
. Revert "zebra: fdb and neighbor table are read for all zns" This reverts commitf8ed2c5420
. Revert "zebra: zvni_map_to_svi() adaptation for other network namespaces" This reverts commit2a9dccb647
. Revert "zebra: display interface slave type" This reverts commitfc3141393a
. Revert "zebra: zvni_from_svi() adaptation for other network namespaces" This reverts commit6fe516bd4b
. Revert "zebra: importation of bgp evpn rt5 from vni with other netns" This reverts commit28254125d0
. Revert "lib, zebra: update interface name at netlink creation" This reverts commit1f7a68a2ff
. Signed-off-by: Pat Ruddy <pat@voltanet.io>
80 lines
1.9 KiB
C
80 lines
1.9 KiB
C
/*
|
|
* Zebra NS header
|
|
* Copyright (C) 2016 Cumulus Networks, Inc.
|
|
* Donald Sharp
|
|
*
|
|
* This file is part of Quagga.
|
|
*
|
|
* Quagga is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2, or (at your option) any
|
|
* later version.
|
|
*
|
|
* Quagga is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; see the file COPYING; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#if !defined(__ZEBRA_NS_H__)
|
|
#define __ZEBRA_NS_H__
|
|
|
|
#include <lib/ns.h>
|
|
#include <lib/vrf.h>
|
|
|
|
#include "zebra/rib.h"
|
|
#include "zebra/zebra_vrf.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef HAVE_NETLINK
|
|
/* Socket interface to kernel */
|
|
struct nlsock {
|
|
int sock;
|
|
int seq;
|
|
struct sockaddr_nl snl;
|
|
char name[64];
|
|
};
|
|
#endif
|
|
|
|
struct zebra_ns {
|
|
/* net-ns name. */
|
|
char name[VRF_NAMSIZ];
|
|
|
|
/* Identifier. */
|
|
ns_id_t ns_id;
|
|
|
|
#ifdef HAVE_NETLINK
|
|
struct nlsock netlink; /* kernel messages */
|
|
struct nlsock netlink_cmd; /* command channel */
|
|
struct nlsock netlink_dplane; /* dataplane channel */
|
|
struct thread *t_netlink;
|
|
#endif
|
|
|
|
struct route_table *if_table;
|
|
|
|
/* Back pointer */
|
|
struct ns *ns;
|
|
};
|
|
|
|
struct zebra_ns *zebra_ns_lookup(ns_id_t ns_id);
|
|
|
|
int zebra_ns_init(const char *optional_default_name);
|
|
int zebra_ns_enable(ns_id_t ns_id, void **info);
|
|
int zebra_ns_disabled(struct ns *ns);
|
|
int zebra_ns_early_shutdown(struct ns *ns);
|
|
int zebra_ns_final_shutdown(struct ns *ns);
|
|
|
|
int zebra_ns_config_write(struct vty *vty, struct ns *ns);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|