Commit Graph

630 Commits

Author SHA1 Message Date
Donald Sharp
75f1349106 quagga: Check for existence of IFLA_INFO_SLAVE_KIND
IFLA_INFO_SLAVE_KIND is a new type of netlink message
If the kernel makes it available compile in support
else we'll just silently do the right thing.

Additionally reduce the test cases for netlink by 1
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: David Ahern <dsa@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-15 15:07:59 -04:00
Donald Sharp
7c5519562e zebra: Refactor zebra_vrf
Move zebra_vrf_XXX functionality into it's own
file so that we can isolate a bit the api edges

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-14 20:57:04 -04:00
Donald Sharp
fe18ee2d44 lib, zebra: Rework zebra_ns to be a bit more modular
The struct zebra_ns was littered throughout the code
base in a half-hazard fashion.  Gather up the references
and isolate the code a bit better.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-14 20:56:57 -04:00
Donald Sharp
44e9909db4 zebra: Refactor struct zebra_t
We were including 'extern struct zebra_t zebrad;' all
over the place.  This made no sense.  Refactor
into zserv.h where the definition was and remove resulting
unnecessary code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-14 20:56:45 -04:00
Donald Sharp
e2b1be648d lib, zebra: Rework vrf_add_update
The vrf_add_update function does not need to exist.
Move it's constituent parts into the appropriate
vrf_create/vrf_enable functionality as well as
move the zebra_vrf_add_update() function call
into zebra_vrf_enable()

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-14 20:56:43 -04:00
Donald Sharp
e74f14fc79 lib, zebra: Rearrange vrf_delete_update
vrf_delete_update really belongs in vrf.c broken up
into it's appropriate places.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-14 20:56:12 -04:00
Donald Sharp
58255d3440 lib, zebra: Refactor vrf creation a bit more
Create the idea of a VRF_UNKNOWN, this is for a vrf where we don't
yet have the vrf_id for it yet.

Refactor the vrf_create code out of existence.  We had two code
paths vrf_create and vrf_get.  We should use vrf_get to create
the new vrf since XXX_get() creates the data structures now.

Signed-off-by: Donald Sharp
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-12 20:19:28 -04:00
Donald Sharp
7707478a33 Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2016-04-08 13:16:21 -04:00
Donald Sharp
b2d7c082a2 quagga: Remove iflist global variable
The file if.c has a iflist that had the list of interfaces
in the default vrf.  Remove this variable and replace
with a vrf_iflist lookup on the default vrf where it
was used.

Additionally, modify ptm code to iterate over all vrf's
when enabling ptm.

Ticket: CM-10338
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Radhika Mahankali <radhika@cumulusnetworks.com>
2016-04-08 13:15:59 -04:00
Donald Sharp
79694123fd lib, zebra: Rename ZEBRA_VRF_ACTIVE
ZEBRA_VRF_ACTIVE is a poor name for when a vrf is
actually active.  Rename VRF_ACTIVE.

Ticket: CM-10338
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Radhika Mahankali <radhika@cumulusnetworks.com>
2016-04-08 13:15:41 -04:00
Christian Franke
55ce4d3add zebra: count iface up/down events and keep last time of their occurrence
It is quite useful to be able to assert whether specific interfaces have
flapped or also to verify that specific interfaces have not flapped.

By having counters for those events and storing the last time of their
occurrence, this is made possible.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Acked-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2016-04-07 20:41:43 -04:00
Donald Sharp
747be3cb7b Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2016-04-06 20:56:53 -04:00
Donald Sharp
1db63918b2 lib, vtysh: Return actual problem further up
When we encounter a problem loading a config file
quantify to the end user what has gone wrong,
with a combination of err output as well as
return codes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
2016-04-06 20:07:27 -04:00
vivek
154caaed00 Zebra: Fix VRF-id and table for BGP unnumbered (RFC 5549)
In the case of BGP unnumbered RFC 5549 (IPv4 routes with IPv6 nexthop), the
zebra code to handle routes was not initializing the correct VRF id and
locating the correct routing table, resulting in the routes not getting
installed. Fixed with this change.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-10247
Reviewed By: CCR-4429
Testing Done: Manual verification
2016-04-06 14:07:05 -07:00
Don Slice
81515efc8d Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2016-04-01 16:16:20 -07:00
Don Slice
6678277c70 zebra: close all tables when quagga is stopped
When signalled to stop quagga, iterate through any "other_tables" that may have
been imported and close them all before stopping.

Ticket: CM-9386
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
2016-04-01 16:12:33 -07:00
Donald Sharp
4b8b28d235 lib, zebra: Fix vrf new hook callback.
This commit fixes two issues:

1) The creation of a new vrf from the cli was not calling the vrf_create hook.
This is fixed.

2) The zebra_vrf_delete callback was deleting interface information that
belonged to vrf not zvrf.  Remove the code as that it was not it's job
to do so.

Ticket: CM-10100
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-04-01 15:26:19 -04:00
Donald Sharp
6c12c8ab76 zebra: Fix Startup with > 1k interfaces
Zebra in rt_netlink.c has a while (1) loop that handles
recvmsg from the netlink socket.  In early bootup a
situation can occur whereby the netlink messages
take a long time to parse.  This time starts to
take an exponential amount of time the more netlink
messages that you read in.  There reaches
a point where the incoming netlink messages are
coming in at about the same rate that they are processed.
This ends up causing the while (1) loop to never exit.
Eventually this causes quagga to fail when the watchdog message
is never sent to systemd.

This patch attempts to address this deficiency in that
we allow for a pause from reading in netlink messages
to allow other work to be done.  This pause drains
the work queue items created by the netlink received
data and allows zebra to respond to other system input.

I believe we will need to come back in and modify zebra
startup a bit more.  There are ineffiencies that need
to be addressed as part of boot up.

Ticket: CM-9992
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Wilson Kok <wkok@cumulusnetworks.com>
2016-03-31 08:20:53 -04:00
vivek
21efedebd9 Zebra: Fix IPv6 static route config in a VRF
When configuring an IPv6 static route with the nexthop as a link-local
IPv6 address, the associated interface has to be looked up in the correct
VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-10169
Reviewed By: CCR-4382
Testing Done: Manual
2016-03-29 17:41:59 -07:00
Don Slice
1d75f88306 zebra: Use vrf name instead of vrf-id for router-id definition
Changed display/saving of global router-id to use the vrf name instead
of the vrf_id, since the vrf_id would get lost on quagga restart or
reboot.

Ticket: CM-10106
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
2016-03-29 19:43:57 +00:00
Don Slice
4a14188257 zebra: Use vrf name instead of vrf-id for ipv6 static route configuration
Changed output of the "ipv6 route ... vrf red" to display and store with the
vrf name instead of the vrf_id, since the vrf_id would disappear on reboot
or quagga restart.

Ticket: CM-10126
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
2016-03-29 19:19:42 +00:00
vivek
6714f864c3 Zebra: Fix nexthops in IPv6 route display
Ticket: CM-10135
Reviewed By: Trivial
Testing Done: None
2016-03-28 22:21:08 -07:00
Don Slice
99ffac1827 zebra: add or delete router-id when interface moves vrfs
When an interface changes which vrf it is part of, it needs to be added
to the list of possible router-id choices in the new vrf and removed
from the old vrf/default.

Ticket: CM-9074
Signed-off-by: Don Slice
Reviewed-by: Vivek Venkatraman
2016-03-25 11:51:35 +00:00
vivek
ca46a78e87 Zebra: Fix handling of larger table-ids
Zebra code was not handling larger table-ids correctly. There were 2 issues:

a) In the netlink interface, RTA_TABLE was never sent or processed. This
pretty much limited the table-ids that zebra could understand to < 255.

b) In the interface into the zebra RIB (in particular for protocols), there
were some incorrect checks that again assumed the table id should be < 252
or be "main". This is valid only for the Default VRF (for now), for other
VRFs, the table-id should be the value learnt from the kernel.

These two issues are addressed with this change.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-10087, CM-10091
Reviewed By: CCR-4359
Testing Done: Manual
2016-03-24 22:38:40 -07:00
Donald Sharp
f896287128 bgpd, lib, zebra: Add ability to retrieve ifp without specifying a vrf
There are cases where we get an interface name but do not have a
corresponding vrf.  We care about getting an interface pointer
so just provide a function that searches all vrf's for the ifp.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Radhicak Mahankali <radhika@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-03-23 12:38:30 -07:00
Donald Sharp
2878e4dff6 zebra: Some small modifications to actually delete the vrf
zebra was not actually deleting the vrf passed in.

Ticket: CM-9412
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-03-23 05:30:08 -07:00
Donald Sharp
9e1bf607c1 zebra: Replace vrf with zebra_vrf in a few places
We were incorrectly using vrf instead of zebra_vrf in a
few spots.

Ticket: CM-9412
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-03-23 05:29:15 -07:00
vivek
c23af4d3e6 Zebra: Restrict IPv6 RA to valid interfaces
Restrict interfaces on which IPv6 Router Advertisements are allowed. The list
excludes loopback interfaces including the VRF device interface; specific to
Cumulus, it also includes "switch0" and "ethX" interfaces.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

Ticket: CM-9849
Reviewed By: CCR-4334
Testing Done: Manual
2016-03-22 16:52:35 +00:00
Donald Sharp
c2888e10b1 Makfile issues to compile better
During some tests of the release I noticed that we
have some issues with it properly building due
to missing information in the Makefile.am files

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-03-18 09:35:58 -04:00
Daniel Walton
c5344534ff quagga: Netlink error message following Notification send
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-9501
2016-03-16 20:56:15 +00:00
radhika
055c4dfcde Support for multi-client and client reg msg
Ticket: CM-7615, CM-7773
Reviewed By: CCR-3610, CCR-3708
Testing Done: Unit, BGP Smoke and OSPF Smoke

Changes (70790261926b17200c8c9377c4576cd3b486fcef) ported from 2.5

Issue (related to CM-7615): 1. CM-7615: There is mismatch in the client name between ptm display of client BFD sessions and the zebra logs. For example, if bgpd added BFD session, zebra logs will show the client as “bgp” but the ptm display will show it as “quagga”
2. Bigger problem is when 2 clients (for example OSPF and BGP) from Quagga register for same BFD session and only one client de-registers the BFD session. This results in BFD session deletion from PTM even though other client still has the BFD registration.

Root Cause: Even though BGP, OSPF and OSPF6 are 3 different clients from Quagga that are trying to register/deregister BFD sessions with PTM, all 3 are represented as one client “quagga” from zebra. This makes it hard for PTM/BFD to distinguish between all three when BFD peer registration/deregistration happens from the clients.

Fix: Send the actual client name bgp, ospf or ospf6 from zebra with BFD reg/dereg messages instead of one unified client name “quagga”

CM-7773: BFD sessions are not getting cleaned from PTM even though no BGP peering exists in Quagga.

Root Cause: PTM cleans up stale BFD sessions from a client when it finds a change in seq id advertised by the client. But, if PTM never detects a change in the seq id then the stale BFD sessions never get cleaned up. The test restarts the quagga without saving the configuration, which results in no BGP peering. No BGP peers are registered with PTM after restart and PTM does not detect a client seq id change resulting in stale BFD sessions.

Fix: New client registration message was added in PTM. Every client that is interested in BFD monitoring will register with PTM with the client seq id. Client will register with a different seq id (typically pid) every time it restarts. This will help in detecting the change in seq id and cleanup of stale BFD sessions for a client.

Code Changes: To support the new client registration message following changes have been made
  - Added support for client registration messaging in zebra for sending messages to PTM.
  - Added support for client registration messaging between zebra and clients (BGP, OSPF and OSPF6) in BFD library.
  - Expanded the reg/de reg peer messaging between zebra and clients to support client specific seq id to distinguish between multiple clients registering for BFD peer rather than one “quagga” client.
  - Changes in bgpd, ospfd and ospf6d to send client registrations at the time of daemon initialization and on receiving BFD peer replay message.
2016-03-08 23:31:32 -08:00
radhika
d553294e09 Zebra and bgpd: VRF support for BFD
Following changes have been done to support VRF for BFD in zebra and bgpd.
 - Pass the correct VRF value from bgpd to zebra for reg and dereg of BFD destinations.
 - Send the non-default vrf name in reg/dereg messages of multihop destination to BFD/PTM from zebra.

Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>

Ticket: CM-8450
Reviewed By: CCR-4253
Testing Done: Unit, PTM smoke, BGP Smoke
2016-03-08 05:10:56 -08:00
vivek
4b33b75a01 Zebra: Cleanup registered nexthops upon client exit
Ensure registered nexthops are cleaned up when bgpd exits.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-9488
Reviewed By: CCR-4220
Testing Done: Manual testing
2016-03-02 01:08:43 +00:00
Don Slice
d511d7f168 Zebra: Move VRF keyword in show ip route commands
To make the syntax of the "show ip route" vrf commands more closely align with the bgp variety,
moved the vrf forward in the command.  In other words, show ip route 10.1.1.1/32 vrf green became
show ip route vrf green 10.0.0.1/32.  Also added a couple of missing show vrf commands (ipv4 and
ipv6 tags).

Ticket: CM-9114
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
2016-02-28 22:03:27 +00:00
vivek
67cc8c5e5f Zebra: Fix static NHT to work properly in a VRF
Cleanup code and improve debugs as part of fixing NHT for static routes
in a VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

Ticket: CM-9457
Reviewed By: CCR-4185
Testing Done: Manual verification
2016-02-26 19:51:34 +00:00
vivek
d82ae0dedc Zebra: Fix static NHT to work properly in a VRF
Implement VRF support for static nexthop resolution (NHT). This is
achieved by ensuring the correct VRF is passed as a parameter to
the NHT functions and is stored in the registered nexthop data
structure.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

Ticket: CM-9457
Reviewed By: CCR-4185
Testing Done: Manual verification
2016-02-26 19:13:34 +00:00
vivek
5b5b953fbd Quagga: Implement VRF change semantics for an interface
Invoke VRF change for an interface, if appropriate, upon netlink
notification.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios
2016-02-25 19:41:01 +00:00
vivek
c8e264b60e Quagga: Implement VRF change semantics for an interface
Implement VRF change semantics for an interface to be invoked
when an interface is moved from one VRF (e.g., the Default) to
another. This includes the message definition as well as updating,
deleting or adding the interface from clients, depending on their
interest in the VRFs (old and new). Also handle replay of the
addresses on the interface upon VRF change, if required.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

Ticket: CM-9527
Reviewed By: CCR-4174
Testing Done: Manual tests of various scenarios
2016-02-25 19:30:53 +00:00
Don Slice
5fe7477040 Zebra: Improve output of show ip route vrf all
Changed output to use the name and table id rather than the vrf_id, since the vrf_id
isn't really meaningful to customers reading the output.

Ticket: CM-9464
Signed-off-by: Don Slice
Reviewed-by: Donald Sharp
2016-02-24 15:48:32 +00:00
Donald Sharp
69593b97df Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2016-02-23 07:48:00 -05:00
Donald Sharp
000cf1fb35 debian, config, zebra: Ensure Cumulus Extensions are not auto turned on
There exist cases where Cumulus Code( in this case code surrounding
when we want to send Router Advertisements ) should only be
turned on for Cumulus Switches.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-23 07:46:54 -05:00
vivek
a815b7881e Zebra: Zebra: Display interface info for NHT in a VRF
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-9458
Reviewed By: CCR-4150
Testing Done: Manual
2016-02-23 04:17:09 +00:00
vivek
9ec6b0bb0e Zebra: Perform NHT evaluation for VRFs
NHT evaluation was not being triggered for any VRF after RIB processing. Fix
this and attempt to schedule only those VRFs for which RIB processing was
scheduled.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-9175
Reviewed By: CCR-4149
Testing Done: Manual verification
2016-02-23 03:42:19 +00:00
Don Slice
e186aa9ffa Zebra: Enable VRF as an interface creation
Modified response to netlink message for VRF creation, allowing it to be
created as an interface and setting the right vrf_id and bringing in the ip address.

Ticket: CM-9277
Signed-off-by: Don Slice
Reviewed-by: Vivek Venkatraman
2016-02-22 21:39:06 +00:00
vivek
e786b6015e Zebra: Fix ignoring status for VRF device
The earlier change to ignore status for VRF device was not quite perfect. As
defect CM-9437 illustrates, there are situations when Quagga may get a VRF
member interface (that refers to the VRF id of the VRF device) before it gets
the VRF device itself. The code has some logic to handle this, creating a
VRF structure which is partly initialized. The initialization is completed
with some additional incorrect status processing when the VRF is learnt. The
fix done earlier completely ignored the VRF message treating it as a status
change because the VRF is already present, but this left the VRF structure
not fully initialized in Quagga. The fix is to do some additional checks
to handle this scenario.

Fixes: 3e66be2ee6

Ticket: CM-9437
Reviewed By: None
Testing Done: Reproduced problem, verified fix.
2016-02-22 05:33:46 +00:00
vivek
3e66be2ee6 Zebra: Ignore status change for VRF (temporary)
Temporary change to ignore status change for a VRF device as it is
incorrectly implemented now. When VRF is also supported as an
interface, the status change will be handled for the interface.

Ticket:
Reviewed By:
Testing Done:
2016-02-19 22:50:56 -08:00
vivek
f360eac003 Zebra: Cleanup and update RA debugs
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>

Ticket: CM-9206
Reviewed By: CCR-4217
Testing Done: Manual testing
2016-02-19 14:58:46 -08:00
vivek
43459b1f09 Zebra: Make RA socket operation on a per-NS basis
This patch reorganizes the RA handling to be per namespace rather than per
VRF. The VRF library by 6wind had done the original change to make the RA
data structures (socket information) per VRF, but this was correct only if
each VRF represented a NS. In our reorganization, we have created a NS
structure (struct zebra_ns) and VRFs don't correspond to namespaces (i.e.,
all VRFs exist in the default namespace). So, the RA handling should be
done under 'struct zebra_ns'.

With the changes, there is a single raw socket per NS (=> 1 for us) on which
we will receive and handle RAs for all interfaces. The interface information
is available through cmsg and the processing will then happen for that interface.

There is a problem with transmitting RAs over a VRF interface. This is
tracked by CM-9398.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-9206
Reviewed By: CCR-4217
Testing Done: Manual testing
2016-02-19 14:55:36 -08:00
vivek
c3c06a51aa Zebra: Tweak netlink socket creation function
Since the netlink socket is per namespace and not per VRF, do not
invoke vrf_socket().

Note: This needs to be changed when we support multiple namespaces -
needed only for upstreaming.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-9206
Reviewed By: CCR-4127
Testing Done:
2016-02-19 14:18:35 -08:00
vivek
76ae366edb Zebra: Link VRF to corresponding NS
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket:
Reviewed By:
Testing Done:
2016-02-19 14:03:06 -08:00