-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PIM candidate BSR/RP support #16438
PIM candidate BSR/RP support #16438
Conversation
1392c5a
to
511528d
Compare
Ran the test and got this new memory leaks:
My expectation is that we should not be adding new code that leaks |
will fix. |
d63c2e9
to
bbcfe38
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor comments
pimd/pim6_cmd.c
Outdated
event_timer_remain_msec( | ||
scope->cand_rp_adv_timer)); | ||
|
||
vty_out(vty, "%s\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can use "vty_json" instead of vty_out and json_object_free()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this resolved? I started to write a comment about this as well, I see that vty_json is not being used in several spots
Working on addressing comments from @nabahr and @mobash-rasool |
5d3d1b7
to
0158267
Compare
pimd/pim6_cmd.c
Outdated
vty_out(vty, "{}\n"); | ||
else | ||
vty_out(vty, | ||
"This router is not currently operating as Candidate RP\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest adding this also to JSON output, e.g.:
{"warning": "..."}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't a warning really, just informational.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I.e, the correct behavior it return an empty object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neither agree, nor disagree, e.g. we have in BGP such patterns:
if (!peer) {
if (use_json) {
json_object *json_no = NULL;
json_no = json_object_new_object();
json_object_string_add(json_no, "warning",
"No such neighbor in this view/vrf");
vty_json(vty, json_no);
} else
vty_out(vty, "No such neighbor in this view/vrf\n");
return NULL;
}
or
if (is_synchronized(rpki_vrf)) {
if (strmatch(prefixkind, "prefix-count"))
print_prefix_table(vty, rpki_vrf, json, true);
else
print_prefix_table(vty, rpki_vrf, json, false);
} else {
if (json) {
json_object_string_add(json, "error", "No Connection to RPKI cache server.");
vty_json(vty, json);
} else
vty_out(vty, "No connection to RPKI cache server.\n");
return CMD_WARNING;
}
Anyway, it's not a blocker. Just an improvement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both of these are a bit different. The first , if you query a neighbor that doesn't exist, a warning is a good idea about it. The second case is an error, so that does need an error return. So I see why those have them. The case I have is purely informational.
0158267
to
2906368
Compare
I addressed all comments on this PR. |
322cda5
to
073c6d5
Compare
Signed-off-by: David Lamparter <[email protected]> Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
073c6d5
to
0e5aa6e
Compare
Signed-off-by: David Lamparter <[email protected]> Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
0e5aa6e
to
93cfd9a
Compare
Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
This change re-adds an additional check bsr rpf that was removed in 2c6a32f. Without that check, bsr messages is resent (causing a loop) if we have more than one pim neighbor on a link. Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
93cfd9a
to
571108e
Compare
New Features Highlight: - PIM candidate BSR/RP [#16438] - Static IGMP join without an IGMP report [1#6450] - PIM AutoRP discovery/announcements [#16634] - IGMP proxy [#16861] - SRv6 SID Manager [#15604] - Add `bgp ipv6-auto-ra` command [#16354] - Implement `neighbor x remote-as auto` for BGP [#16345] - Implement `bgp dual-as` for BGP [#16816] - Implement BGP-wide configuration for graceful restart [#16099] - Handle kernel routes appropriately (should fix recent NOPREFIXROUTE issue) [#16300] - Add `cisco-authentication` password support for NHRP [#16172] Signed-off-by: Jafar Al-Gharaibeh <[email protected]>
This Brings full BSR and RP candidate support to FRR (rfc 5059)
Replaces #9180 , in coordination with @eqvinox