]> git.proxmox.com Git - mirror_frr.git/blob - lib/vxlan.h
Merge pull request #5744 from ton31337/fix/thread-as-withdraw_attributes
[mirror_frr.git] / lib / vxlan.h
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
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 /* VxLAN Network Identifier - 24-bit (RFC 7348) */
30 typedef uint32_t vni_t;
31 #define VNI_MAX 16777215 /* (2^24 - 1) */
32
33 /* Flooding mechanisms for BUM packets. */
34 /* Currently supported mechanisms are head-end (ingress) replication
35 * (which is the default) and no flooding. Future options could be
36 * using PIM-SM, PIM-Bidir etc.
37 */
38 enum vxlan_flood_control {
39 VXLAN_FLOOD_HEAD_END_REPL = 0,
40 VXLAN_FLOOD_DISABLED,
41 VXLAN_FLOOD_PIM_SM,
42 };
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif /* __VXLAN_H__ */