Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Quagga: Dev
[PATCH 3/3] bgpd: fix up multipath merge breakage
 

Index | Next | Previous | View Flat


equinox at diac24

Apr 28, 2012, 3:29 PM


Views: 86
Permalink
[PATCH 3/3] bgpd: fix up multipath merge breakage

the BGP multipath code was developed against a pre-f6f434b Quagga where
bgp_attr_unintern and ecommunity_free took single-star pointers. They
now take double-star pointers.

* bgpd/bgp_mpath.c: fix up bgp_attr_unintern & ecommunity_free calls.

Signed-off-by: David Lamparter <equinox [at] diac24>
---
compare commit f6f434b "bgpd: Try fix extcommunity resource allocation
probs" from Nov 2010. Really stupid merge breakage.

bgpd/bgp_mpath.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c
index d07830d..aa657d8 100644
--- a/bgpd/bgp_mpath.c
+++ b/bgpd/bgp_mpath.c
@@ -230,7 +230,7 @@ bgp_info_mpath_free (struct bgp_info_mpath **mpath)
if (mpath && *mpath)
{
if ((*mpath)->mp_attr)
- bgp_attr_unintern ((*mpath)->mp_attr);
+ bgp_attr_unintern (&(*mpath)->mp_attr);
XFREE (MTYPE_BGP_MPATH_INFO, *mpath);
*mpath = NULL;
}
@@ -605,7 +605,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best,
if (old_best && (old_best != new_best) &&
(old_attr = bgp_info_mpath_attr (old_best)))
{
- bgp_attr_unintern (old_attr);
+ bgp_attr_unintern (&old_attr);
bgp_info_mpath_attr_set (old_best, NULL);
}

@@ -616,7 +616,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best,
{
if ((new_attr = bgp_info_mpath_attr (new_best)))
{
- bgp_attr_unintern (new_attr);
+ bgp_attr_unintern (&new_attr);
bgp_info_mpath_attr_set (new_best, NULL);
SET_FLAG (new_best->flags, BGP_INFO_ATTR_CHANGED);
}
@@ -692,7 +692,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best,
{
ecommerge = ecommunity_merge (ecomm, ae->ecommunity);
ecomm = ecommunity_uniq_sort (ecommerge);
- ecommunity_free (ecommerge);
+ ecommunity_free (&ecommerge);
}
else
ecomm = ecommunity_dup (ae->ecommunity);
@@ -728,10 +728,10 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best,
if (new_attr != bgp_info_mpath_attr (new_best))
{
if ((old_attr = bgp_info_mpath_attr (new_best)))
- bgp_attr_unintern (old_attr);
+ bgp_attr_unintern (&old_attr);
bgp_info_mpath_attr_set (new_best, new_attr);
SET_FLAG (new_best->flags, BGP_INFO_ATTR_CHANGED);
}
else
- bgp_attr_unintern (new_attr);
+ bgp_attr_unintern (&new_attr);
}
--
1.7.8.4

_______________________________________________
Quagga-dev mailing list
Quagga-dev [at] lists
http://lists.quagga.net/mailman/listinfo/quagga-dev

Subject User Time
[PATCH 3/3] bgpd: fix up multipath merge breakage equinox at diac24 Apr 28, 2012, 3:29 PM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.