OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
Afi
Definition: bgp_af.h:17
Family
Definition: address.h:24
static Address::Family AfiSafiToFamily(uint16_t afi, uint8_t safi)
Definition: bgp_af.cc:71
static Safi FamilyToSafi(Address::Family family)
Definition: bgp_af.cc:188
Safi
Definition: bgp_af.h:23
static std::string ToString(uint16_t afi, uint8_t safi)
Definition: bgp_af.cc:14
static uint8_t FamilyToXmppSafi(Address::Family family)
Definition: bgp_af.cc:217
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
Definition: bgp_af.h:15