Skip to content

Commit

Permalink
Support communities for network static routes
Browse files Browse the repository at this point in the history
Change-Id: I45671c45e08e96702cdf394b0007bb56294341ec
Partial-Bug: 1549465
  • Loading branch information
Nischal Sheth committed Mar 1, 2016
1 parent 091416a commit 2a280f4
Show file tree
Hide file tree
Showing 12 changed files with 224 additions and 93 deletions.
3 changes: 2 additions & 1 deletion src/bgp/bgp_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,8 @@ struct StaticRouteConfig {
IpAddress address;
int prefix_length;
IpAddress nexthop;
std::vector<std::string> route_target;
std::vector<std::string> route_targets;
std::vector<std::string> communities;
};

typedef std::vector<std::string> CommunityList;
Expand Down
3 changes: 2 additions & 1 deletion src/bgp/bgp_config_ifmap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,8 @@ static void SetStaticRouteConfig(BgpInstanceConfig *rti,
if (ec != 0)
continue;

item.route_target = route.route_target;
item.route_targets = route.route_target;
item.communities = route.community;
if (item.nexthop.is_v4()) {
Ip4Address address;
ec = Ip4SubnetParse(route.prefix, &address, &item.prefix_length);
Expand Down
3 changes: 2 additions & 1 deletion src/bgp/bgp_peer.sandesh
Original file line number Diff line number Diff line change
Expand Up @@ -452,8 +452,9 @@ struct ShowBgpServiceChainConfig {

struct ShowBgpStaticRouteConfig {
1: string prefix;
2: list<string> targets;
3: string nexthop;
4: list<string> communities;
2: list<string> targets;
}

struct ShowBgpInstanceRoutingPolicyConfig {
Expand Down
3 changes: 2 additions & 1 deletion src/bgp/bgp_show_config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,9 @@ static void FillBgpInstanceConfigInfo(ShowBgpInstanceConfig *sbic,
string prefix = static_rt_config.address.to_string() + "/";
prefix += integerToString(static_rt_config.prefix_length);
sbsrc.set_prefix(prefix);
sbsrc.set_targets(static_rt_config.route_target);
sbsrc.set_nexthop(static_rt_config.nexthop.to_string());
sbsrc.set_targets(static_rt_config.communities);
sbsrc.set_targets(static_rt_config.route_targets);
static_route_list.push_back(sbsrc);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/bgp/community.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ class CommunityDB : public BgpPathAttributeDB<Community, CommunityPtr,
CommunityPtr AppendAndLocate(const Community *src,
const std::vector<uint32_t> &value);
CommunityPtr SetAndLocate(const Community *src,
const std::vector<uint32_t> &value);
const std::vector<uint32_t> &value);
CommunityPtr RemoveAndLocate(const Community *src,
const std::vector<uint32_t> &value);

Expand Down

0 comments on commit 2a280f4

Please sign in to comment.