Merge pull request #3879 from chiragshah6/evpn_dev1

bgpd: fix evpn type-5 implicit withdraw processing
This commit is contained in:
Sri Mohana Singamsetty 2019-03-04 13:18:31 -08:00 committed by GitHub
commit 94b4f08601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3935,7 +3935,7 @@ static int process_type4_route(struct peer *peer, afi_t afi, safi_t safi,
*/
static int process_type5_route(struct peer *peer, afi_t afi, safi_t safi,
struct attr *attr, uint8_t *pfx, int psize,
uint32_t addpath_id, int withdraw)
uint32_t addpath_id)
{
struct prefix_rd prd;
struct prefix_evpn p;
@ -4021,7 +4021,7 @@ static int process_type5_route(struct peer *peer, afi_t afi, safi_t safi,
*/
/* Process the route. */
if (!withdraw)
if (attr)
ret = bgp_update(peer, (struct prefix *)&p, addpath_id, attr,
afi, safi, ZEBRA_ROUTE_BGP, BGP_ROUTE_NORMAL,
&prd, &label, 1, 0, &evpn);
@ -4873,8 +4873,9 @@ int bgp_nlri_parse_evpn(struct peer *peer, struct attr *attr,
break;
case BGP_EVPN_IP_PREFIX_ROUTE:
if (process_type5_route(peer, afi, safi, attr, pnt,
psize, addpath_id, withdraw)) {
if (process_type5_route(peer, afi, safi,
withdraw ? NULL : attr, pnt,
psize, addpath_id)) {
flog_err(
EC_BGP_PKT_PROCESS,
"%u:%s - Error in processing EVPN type-5 NLRI size %d",