On Jan 29, 2015, at 7:54 PM, David Lamparter
wrote:
> +@deffn Command {ip multicast rpf-lookup-mode @var{mode}} {}
> +@deffnx Command {no ip multicast rpf-lookup-mode [@var{mode}]} {}
> +
> +@var{mode} sets the method used to perform RPF lookups. Supported modes:
> +
> +@table @samp
> +@item uri
This is a followup to 9511633 ("zebra: MBGP routes should not be
installed in the kernel"), which was correct in disabling MRIB routes
being installed in the kernel, yet broke the MRIB since now routes were
never marked as active.
Hence, push down the check into the kernel install functions, so th
since the same code handles both URIB and MRIB, the debug messages can
get rather confusing if the RIB isn't identified. Mark the MRIB in
debug messages so we can distinguish that.
Signed-off-by: David Lamparter
---
zebra/zebra_rib.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
di
depending on the usage scenario (and availability of multitopology IGP
protocols, which is currently zero in Quagga), different approaches of
Multicast RPF lookups are useful.
Reference behaviours from commercial vendors are urib-only/mrib-only
(Juniper, depending on inet.2 availability) and lowes
From: Everton Marques
This adds a new zapi call "ZEBRA_IPV4_NEXTHOP_LOOKUP_MRIB" performing a
Multicast RPF lookup for a given source. Details of the lookup
behaviour are left to the zebra side of things.
Note: this is non-reactive, as in, only delivers a snapshot of the state
at a particular p
From: Everton Marques
With the MRIB being independent from the Unicast RIB, there's currently
now way to add static routes to the MRIB. Address that by adding a
separate set of commands for MRIB static routes.
Combines these original patches:
- zebra: mrib: ip mroute command to add unicast rout
Introduces a logging function that takes a struct route_node * argument,
and prefixes log output with that node's prefix. While this removes
some duplication, it will also later be useful for srcdest route nodes.
Behaviour before and after the patch should be exactly identical.
Signed-off-by: Da
From: Everton Marques
The rib_match_ipv4() function was previously used only for iBGP
recursive nexthop lookups, which ignore eBGP routes. This is not
desirable for PIM RPF lookups, which may well use an eBGP route.
Cc: Everton Marques
Cc: Balaji G
Signed-off-by: David Lamparter
---
zebra/r
Signed-off-by: David Lamparter
---
doc/main.texi | 76 +++
1 file changed, 76 insertions(+)
diff --git a/doc/main.texi b/doc/main.texi
index a6bf0d1..810866a 100644
--- a/doc/main.texi
+++ b/doc/main.texi
@@ -10,6 +10,7 @@ different routing
Hi everyone,
this is Everton Marques' code (original to be found at
https://github.com/udhos/qpimd/tree/mrib.v2), rebased, history-cleaned
and extended with some side bits:
preparatory:
- zebra: factor out rib debug logs
- zebra: identify MRIB on debug messages
MRPF lookup:
- zebra: add rib_match
Since this function is internal to zebra, there is no reason to keep
this one-line indirect wrapper to rib_match_ipv4_safi() around.
Cc: Everton Marques
Cc: Balaji G
Signed-off-by: David Lamparter
---
zebra/rib.h | 1 -
zebra/zebra_rib.c | 6 --
zebra/zserv.c | 4 ++--
3 files ch
depending on feedback from actually having these commands in a released
version, we may want to adjust them. Thus, mark them as experimental so
users are aware of this.
Cc: Everton Marques
Cc: Balaji G
Signed-off-by: David Lamparter
---
lib/vty.h | 8
zebra/zebra_vty.c | 7 ++
Checking what route exactly a RPF lookup for a given source uses is
essential for an administrator to debug multicast routing issues. This
command provides exactly that, using the multicst RPF lookup function
and printing out its result to the CLI.
Cc: Everton Marques
Cc: Balaji G
Signed-off-by
From: Everton Marques
Since rib_match_ipv4() is just rib_match_ipv4_safi() for SAFI_UNICAST,
the former can be removed and pointed to the latter instead.
Cc: Balaji G
Cc: Everton Marques
Signed-off-by: David Lamparter
---
zebra/zebra_rib.c | 59 +--
The multicast code needs to know the route_node in addition to the rib
entry in order to perform distance or prefix-length comparisons. Add it
as optional "out" pointer parameter.
Cc: Everton Marques
Cc: Balaji G
Signed-off-by: David Lamparter
---
zebra/rib.h | 3 ++-
zebra/zebra_rib.c
Unfortunately, the quagga CLI parser doesn't support [<1-255>]. Fix by
working around with an alias.
Replaces the following commits:
- zebra: mrib: [no] ip mroute - require distance.
- zebra: mrib: [no] ip mroute - make distance optional.
(Rewritten as alias)
Cc: Everton Marques
Cc: Balaji G
S
From: Everton Marques
This is the same as rib_lookup_ipv4(), without the SAFI hardcoded.
Cc: Balaji G
Cc: Everton Marques
Signed-off-by: David Lamparter
---
zebra/rib.h | 1 +
zebra/zebra_rib.c | 57 +++
2 files changed, 58 insertion
17 matches
Mail list logo