[cmaster-next] [PATCH] bgpd: Fix multiple bgp view vnc crash
Donald Sharp
sharpd at cumulusnetworks.com
Wed Nov 30 10:01:20 EST 2016
Lou -
A quick glance at the vnc code gives me this:
rfapi_import.c: bgp = bgp_get_default (); /* assume 1 instance for now */
rfapi_import.c: bgp = bgp_get_default (); /* assume 1 instance for now */
With this code change am I just setting up the tests to fail at a
different time? Does vnc need to be fixed to allow it to be run
without a default bgp instance running?
donald
On Wed, Nov 30, 2016 at 9:58 AM, Lou Berger <lberger at labn.net> wrote:
> Thanks!
>
>
> On 11/30/2016 9:27 AM, Donald Sharp wrote:
>> When configuring multiple bgp views without a default
>> bgp session, the code will crash.
>>
>> This code change only fixes the crash from happening. I'm not
>> entirely sure that the code will not misbehave with multiple
>> bgp views and configuring vnc in this case.
>>
>> Signed-off-by: Donald Sharp <sharpd at cumulusnetworks.com>
>> ---
>> bgpd/rfapi/vnc_import_bgp.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/bgpd/rfapi/vnc_import_bgp.c b/bgpd/rfapi/vnc_import_bgp.c
>> index 4215ce2..441bdee 100644
>> --- a/bgpd/rfapi/vnc_import_bgp.c
>> +++ b/bgpd/rfapi/vnc_import_bgp.c
>> @@ -1798,6 +1798,9 @@ vnc_import_bgp_exterior_add_route_it (
>> struct bgp *bgp_default = bgp_get_default ();
>> afi_t afi = family2afi (prefix->family);
>>
>> + if (!bgp_default)
>> + return;
>> +
>> h = bgp_default->rfapi;
>> hc = bgp_default->rfapi_cfg;
>>
>> @@ -1992,6 +1995,9 @@ vnc_import_bgp_exterior_del_route (
>> afi_t afi = family2afi (prefix->family);
>> struct bgp *bgp_default = bgp_get_default ();
>>
>> + if (!bgp_default)
>> + return;
>> +
>> memset (&pfx_orig_nexthop, 0, sizeof (struct prefix)); /* keep valgrind happy */
>>
>> h = bgp_default->rfapi;
>
More information about the dev
mailing list