]> git.proxmox.com Git - mirror_frr.git/blame - bgpd/bgp_evpn_mh.h
bgpd: attr changes for EAD routes
[mirror_frr.git] / bgpd / bgp_evpn_mh.h
CommitLineData
185fb14a
AK
1/* EVPN header for multihoming procedures
2 *
3 * Copyright (C) 2019 Cumulus Networks
4 *
5 * This file is part of FRRouting.
6 *
7 * FRRouting is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2, or (at your option) any
10 * later version.
11 *
12 * FRRouting is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 */
18
19#ifndef _FRR_BGP_EVPN_MH_H
20#define _FRR_BGP_EVPN_MH_H
21
22#include "vxlan.h"
23#include "bgpd.h"
24#include "bgp_evpn.h"
25#include "bgp_evpn_private.h"
26
27extern unsigned int esi_hash_keymake(const void *p);
28extern bool esi_cmp(const void *p1, const void *p2);
29extern int install_uninstall_route_in_es(struct bgp *bgp, struct evpnes *es,
30 afi_t afi, safi_t safi,
31 struct prefix_evpn *evp,
32 struct bgp_path_info *pi, int install);
33int process_type4_route(struct peer *peer, afi_t afi, safi_t safi,
34 struct attr *attr, uint8_t *pfx, int psize,
35 uint32_t addpath_id);
36extern int bgp_evpn_local_es_add(struct bgp *bgp, esi_t *esi,
37 struct ipaddr *originator_ip);
38extern int bgp_evpn_local_es_del(struct bgp *bgp, esi_t *esi,
39 struct ipaddr *originator_ip);
40#endif /* _FRR_BGP_EVPN_MH_H */