]> git.proxmox.com Git - mirror_frr.git/blame - lib/vxlan.h
Merge pull request #11469 from donaldsharp/fdev2
[mirror_frr.git] / lib / vxlan.h
CommitLineData
7c6d8773 1/* VxLAN common header.
2 * Copyright (C) 2016, 2017 Cumulus Networks, Inc.
3 *
4 * This file is part of FRR.
5 *
6 * FRR is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
9 * later version.
10 *
11 * FRR is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with FRR; see the file COPYING. If not, write to the Free
18 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19 * 02111-1307, USA.
20 */
21
22#ifndef __VXLAN_H__
23#define __VXLAN_H__
24
5e244469
RW
25#ifdef __cplusplus
26extern "C" {
27#endif
28
03bad95a 29/* EVPN MH DF election algorithm */
74e2bd89
AK
30#define EVPN_MH_DF_ALG_SERVICE_CARVING 0
31#define EVPN_MH_DF_ALG_HRW 1
32#define EVPN_MH_DF_ALG_PREF 2
33
34/* preference range for DF election */
35#define EVPN_MH_DF_PREF_MIN 0
36#define EVPN_MH_DF_PREF_DEFAULT 32767
37#define EVPN_MH_DF_PREF_MAX 65535
38
7c6d8773 39/* VxLAN Network Identifier - 24-bit (RFC 7348) */
d7c0a89a 40typedef uint32_t vni_t;
7c6d8773 41#define VNI_MAX 16777215 /* (2^24 - 1) */
42
fbac9605
DS
43/* Flooding mechanisms for BUM packets. */
44/* Currently supported mechanisms are head-end (ingress) replication
45 * (which is the default) and no flooding. Future options could be
46 * using PIM-SM, PIM-Bidir etc.
47 */
48enum vxlan_flood_control {
49 VXLAN_FLOOD_HEAD_END_REPL = 0,
50 VXLAN_FLOOD_DISABLED,
833b8a50 51 VXLAN_FLOOD_PIM_SM,
fbac9605 52};
5e244469
RW
53
54#ifdef __cplusplus
55}
56#endif
57
7c6d8773 58#endif /* __VXLAN_H__ */