Lines Matching refs:baa
51 baa_free (struct bgp_advertise_attr *baa)
53 XFREE (MTYPE_BGP_ADVERTISE_ATTR, baa);
59 struct bgp_advertise_attr *baa;
61 baa = baa_new ();
62 baa->attr = ref->attr;
63 return baa;
67 baa_hash_key (struct bgp_advertise_attr *baa)
69 return attrhash_key_make (baa->attr);
96 bgp_advertise_add (struct bgp_advertise_attr *baa,
99 adv->next = baa->adv;
100 if (baa->adv)
101 baa->adv->prev = adv;
102 baa->adv = adv;
106 bgp_advertise_delete (struct bgp_advertise_attr *baa,
114 baa->adv = adv->next;
121 struct bgp_advertise_attr *baa;
124 baa = (struct bgp_advertise_attr *) hash_get (hash, &ref, baa_hash_alloc);
125 baa->refcnt++;
127 return baa;
131 bgp_advertise_unintern (struct hash *hash, struct bgp_advertise_attr *baa)
133 if (baa->refcnt)
134 baa->refcnt--;
136 if (baa->refcnt && baa->attr)
137 bgp_attr_unintern (baa->attr);
140 if (baa->attr)
142 hash_release (hash, baa);
143 bgp_attr_unintern (baa->attr);
145 baa_free (baa);
171 ? (adj->adv->baa ? 1 : 0)
180 struct bgp_advertise_attr *baa;
184 baa = adv->baa;
187 if (baa)
190 bgp_advertise_delete (baa, adv);
193 next = baa->adv;
196 bgp_advertise_unintern (peer->hash[afi][safi], baa);
197 adv->baa = NULL;
252 adv->baa = bgp_advertise_intern (peer->hash[afi][safi], attr);
254 adv->baa = baa_new ();
258 bgp_advertise_add (adv->baa, adv);