bgp_update_packet_eor (struct peer *peer, afi_t afi, safi_t safi)
{
struct stream *s;
- struct stream *packet;
if (DISABLE_BGP_ANNOUNCE)
return NULL;
}
bgp_packet_set_size (s);
- packet = stream_dup (s);
- bgp_packet_add (peer, packet);
- stream_free (s);
- return packet;
+ bgp_packet_add (peer, s);
+ return s;
}
/* Get next packet to be written. */
u_char orf_type, u_char when_to_refresh, int remove)
{
struct stream *s;
- struct stream *packet;
struct bgp_filter *filter;
int orf_refresh = 0;
peer->host, afi, safi);
}
- /* Make real packet. */
- packet = stream_dup (s);
- stream_free (s);
-
/* Add packet to the peer. */
- bgp_packet_add (peer, packet);
+ bgp_packet_add (peer, s);
BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
}
int capability_code, int action)
{
struct stream *s;
- struct stream *packet;
/* Adjust safi code. */
if (safi == SAFI_MPLS_VPN)
/* Set packet size. */
(void)bgp_packet_set_size (s);
- /* Make real packet. */
- packet = stream_dup (s);
- stream_free (s);
-
/* Add packet to the peer. */
- bgp_packet_add (peer, packet);
+ bgp_packet_add (peer, s);
BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
}
struct attr *attr, struct peer *from)
{
struct stream *s;
- struct stream *packet;
struct peer *peer;
struct prefix p;
unsigned long pos;
/* Set size. */
bgp_packet_set_size (s);
- packet = stream_dup (s);
- stream_free (s);
- (void) bpacket_queue_add (SUBGRP_PKTQ (subgrp), packet, &vecarr);
+ (void) bpacket_queue_add (SUBGRP_PKTQ (subgrp), s, &vecarr);
subgroup_trigger_write(subgrp);
}
{
struct peer *peer;
struct stream *s;
- struct stream *packet;
struct prefix p;
unsigned long attrlen_pos = 0;
unsigned long cp;
bgp_packet_set_size (s);
- packet = stream_dup (s);
- stream_free (s);
-
- (void) bpacket_queue_add (SUBGRP_PKTQ (subgrp), packet, NULL);
+ (void) bpacket_queue_add (SUBGRP_PKTQ (subgrp), s, NULL);
subgroup_trigger_write(subgrp);
}