Remove unused code for BGP inet6 NLRI encoding and decoding

Couple of other minor changes:

- BuildProtoPrefix and BuildBgpProtoNextHop are not pure virtual anymore
- Do not use namespace using-directive in rtarget_route.cc

Change-Id: Ib5c81b520b701bb2fe772792d839683be4d3db7b
Derive ip family from prefix while provisioning static routes

Change-Id: I95a9bb9f5a4200ce60e26ac0300f893d474ada0c
Reset cache of what's written to ifmap when conn lost.

Also report DOWN status in ConnectionState object.

Change-Id: If2a1d7aef2e5263d8a4aec5ee9858f65c91eb12d
Double commit Bug fix:1375955 and other temptest run fixes for havana and icehouse

Change-Id: Ic24e5247c337947221480be22ee041d50f023ad5
Merge "Reset cache of what's written to ifmap when conn lost."
Bug:#1372262. Marking the link local in Vrouter with a flag for kernel to maintain its own link local db

Change-Id: I57a1746fe05d583887fed64d1060155ea8b4e66a
Merge "Double commit Bug fix:1375955 and other temptest run fixes for havana and icehouse"
* Get the ecmp index for a ingress VM from ingress route,
  instead of looking for route in egress vrf which may not have
  the route.
Closes-bug:#1361010

Change-Id: Ibbaea9a4086ac42b48f1a39c5f524f7703dcd8e8
* If component NH is NULL, return empty so that different
  component NH could be chosen
* Call vrf translate irrespective of ingress and egress route,
  so that it works even when in-network NAT is present.
  Test case for same
Closes-bug:#1342670

Change-Id: Id5b10d7111c1a6f47028fe43392c0b2705db151f
Merge "* If component NH is NULL, return empty so that different   component NH could be chosen * Call vrf translate irrespective of ingress and egress route,   so that it works even when in-network NAT is present.   Test case for same Closes-bug:#1342670"
Add unit tests for family inet

Change-Id: I1dda195c0e0a58b2cd3d0669c6ea2b919692ff6a
* If path preference change is enqueued on a deleted path, ignore
  the change
Closes-bug:#1377293

Change-Id: Id4b51d61dd33fd12038fa491d0cea227b7ce66d8
* Go thru component NH list, and pick local component NH
  if there is no ecmp peer path or local ecmp mpls label.
* If a link to instance-ip is not present, retain previous
  known mode inline with ip-address.
* If flow transition from non-ecmp to ecmp trap the forward flow
* Test case for same added
Closes-bug: #1364908

Change-Id: If6f78b8cc7b3a62b2bb1cd7b0d30b38aaad545c7
Merge "Bug:#1372262. Marking the link local in Vrouter with a flag for kernel to maintain its own link local db"
Merge "* If path preference change is enqueued on a deleted path, ignore   the change Closes-bug:#1377293"
Merge "* Go thru component NH list, and pick local component NH   if there is no ecmp peer path or local ecmp mpls label. * If a link to instance-ip is not present, retain previous   known mode inline with ip-address. * If flow transition from non-ecmp to ecmp trap the forward flow * Test case for same added Closes-bug: #1364908"
Fix typo in comparison function of RouteFlowKey.
Also fix couple of gdb macros to reflect updated code.

Change-Id: I030751c61f4fca94fff86348d29b9cae6501a9f7
MPLS label rebake for multicast was done when label changes. However rebake should be done
whenever there is a change in component NH to which label points.
e.g. if interface gets added in interface comp NH mpls label was not getting updated with new comp NH
as it saw this operation as no-op bcoz there was no label change.

Code change fixes this scenario and rebakes label with comp NH everytime.
Old label is deleted only when label changes.

Change-Id: I18df452867e2f0890aae1800b20e61facd382e55
Implement transit network functionality for service chaining

Following changes have been implemented in control-node:

- Schema change to add allow-transit to VirtualNetworkType
- BGP instance config keeps track of allow-transit attribute
- RoutingInstance is updated with allow-transit from config
- Tweak service chaining code to re-originate routes that are
  in the dest routing instance, even if their OriginVn is not
  the same as dest instance.  This exception is made only if
  the VN of the dest instance is a transit VN. The OriginVn
  for such routes is set to be the VN for the dest instance.
- Handle changes in allow-transit attribute
- Add tests for the new functionality

Limitations (to be enforced in API server via follow-up commit):

- A VN cannot be connected directly to a transit VN - it must
  be connected via a chain of 1 or more services.
- The allow-transit attribtue can only be set when creating a
  VN, it cannot be updated later.

Change-Id: I9c81ba61a3bf0e8db04577b09ee26aa5aa60ad4d
Partial-Bug: 1365277
Merge "Add unit tests for family inet"