diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-10-15 06:58:41 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetwroks.com> | 2016-05-25 20:38:34 -0400 |
| commit | d99764f68f6cb749ee794814dec5793660658832 (patch) | |
| tree | 4b76bf086cbe71c8d0336ec6790541c5c928691e /pimd/pim_macro.c | |
| parent | 2bd9e1bc6ce62f9405f8b840ee0b0dc2a7967eac (diff) | |
pimd: Add SPTbit(S,G) support
Add code to allow pimd to store the SPTbit as needed and
to properly test against it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_macro.c')
| -rw-r--r-- | pimd/pim_macro.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_macro.c b/pimd/pim_macro.c index 3f56532526..f67636a3fe 100644 --- a/pimd/pim_macro.c +++ b/pimd/pim_macro.c @@ -227,8 +227,6 @@ int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch) { struct interface *ifp; - /* SPTbit(S,G) is always true for PIM-SSM-Only Routers */ - ifp = ch->interface; if (!ifp) { char src_str[100]; @@ -241,6 +239,10 @@ int pim_macro_ch_could_assert_eval(const struct pim_ifchannel *ch) return 0; /* false */ } + /* SPTbit(S,G) == TRUE */ + if (ch->upstream->sptbit == PIM_UPSTREAM_SPTBIT_FALSE) + return 0; /* false */ + /* RPF_interface(S) != I ? */ if (ch->upstream->rpf.source_nexthop.interface == ifp) return 0; /* false */ |
