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
Bug:#1372262. Marking the link local in Vrouter with a flag for kernel to maintain its own link local db

Change-Id: I57a1746fe05d583887fed64d1060155ea8b4e66a
* 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"
Merge "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."
Use interface type as part of name for interface route table
in service instance

Change-Id: I480a6f3da644de71801b44447d212393895db9fe
Closes-Bug: #1378100
Merge "Implement transit network functionality for service chaining"
Merge "Remove unused code for BGP inet6 NLRI encoding and decoding"
Best path for service chain route must be BGP or XMPP

Change-Id: I5975f2f1e2031126c25eb624952c6d7a3a36434a
Closes-Bug: 1373744