struct update_attr	*ua; struct update_prefix	*up;
up_clear(&peer->updates, &peer->withdraws); up_clear(&peer->updates6, &peer->withdraws6);
up_down(struct rde_peer *peer){	struct update_attr	*ua;	struct update_prefix	*up;	while ((ua = TAILQ_FIRST(&peer->updates)) != NULL) {		TAILQ_REMOVE(&peer->updates, ua, attr_l);		while ((up = TAILQ_FIRST(&ua->prefix_h)) != NULL) {			TAILQ_REMOVE(&ua->prefix_h, up, prefix_l);			free(up);		}		free(ua->attr);		free(ua);	}	while ((up = TAILQ_FIRST(&peer->withdraws)) != NULL) {		TAILQ_REMOVE(&peer->withdraws, up, prefix_l);		free(up);	}	TAILQ_INIT(&peer->updates);	TAILQ_INIT(&peer->withdraws);	RB_INIT(&peer->up_prefix);	RB_INIT(&peer->up_attrs);	peer->up_pcnt = 0;	peer->up_acnt = 0;	peer->up_nlricnt = 0;	peer->up_wcnt = 0;}