OpenSDN source code
bgp_af.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef ctrlplane_bgp_af_h
6 #define ctrlplane_bgp_af_h
7 
8 #include <string>
9 #include <utility>
10 
11 #include <inttypes.h>
12 
13 #include <base/address.h>
14 
15 class BgpAf {
16 public:
17  enum Afi {
19  IPv4 = 1,
20  IPv6 = 2,
21  L2Vpn = 25,
22  };
23  enum Safi {
25  Unicast = 1,
26  Mpls = 4,
27  MVpn = 5,
28  EVpn = 70,
29  Vpn = 128,
30  RTarget = 132,
31  Mcast = 241,
32  Enet = 242,
33  ErmVpn = 243,
34  };
35 
36  static std::string ToString(uint16_t afi, uint8_t safi);
37  static Address::Family AfiSafiToFamily(uint16_t afi, uint8_t safi);
38  static std::pair<uint16_t, uint8_t> FamilyToAfiSafi(Address::Family family);
39  static Afi FamilyToAfi(Address::Family family);
40  static Safi FamilyToSafi(Address::Family family);
41  static uint8_t FamilyToXmppSafi(Address::Family family);
42 
43 };
44 
45 #endif
Family
Definition: address.h:24
Definition: bgp_af.h:15
static uint8_t FamilyToXmppSafi(Address::Family family)
Definition: bgp_af.cc:217
Safi
Definition: bgp_af.h:23
@ ErmVpn
Definition: bgp_af.h:33
@ Enet
Definition: bgp_af.h:32
@ RTarget
Definition: bgp_af.h:30
@ EVpn
Definition: bgp_af.h:28
@ Unicast
Definition: bgp_af.h:25
@ MVpn
Definition: bgp_af.h:27
@ Vpn
Definition: bgp_af.h:29
@ Mcast
Definition: bgp_af.h:31
@ UnknownSafi
Definition: bgp_af.h:24
@ Mpls
Definition: bgp_af.h:26
static std::pair< uint16_t, uint8_t > FamilyToAfiSafi(Address::Family family)
Definition: bgp_af.cc:130
static Afi FamilyToAfi(Address::Family family)
Definition: bgp_af.cc:159
static Safi FamilyToSafi(Address::Family family)
Definition: bgp_af.cc:188
Afi
Definition: bgp_af.h:17
@ L2Vpn
Definition: bgp_af.h:21
@ IPv4
Definition: bgp_af.h:19
@ IPv6
Definition: bgp_af.h:20
@ UnknownAfi
Definition: bgp_af.h:18
static Address::Family AfiSafiToFamily(uint16_t afi, uint8_t safi)
Definition: bgp_af.cc:71
static std::string ToString(uint16_t afi, uint8_t safi)
Definition: bgp_af.cc:14