From 9985f83ce7102f64b15f744b60320f8d14a8a5ff Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 9 Feb 2005 15:51:56 +0000 Subject: 2005-02-09 Paul Jakma * (global) Update code to match stream.h changes. stream_get_putp effectively replaced with stream_get_endp. stream_forward renamed to stream_forward_getp. stream_forward_endp introduced to replace some previous setting/manual twiddling of putp by daemons. * lib/stream.h: Remove putp. Update reference to putp with endp. Add stream_forward_endp, which daemons were doing manually. Rename stream_forward to stream_forward_getp. lib/stream.c: Remove/update references to putp. introduce stream_forward_endp. --- bgpd/bgp_attr.c | 50 +++++++++++++++++++++++++------------------------- bgpd/bgp_dump.c | 8 ++++---- bgpd/bgp_open.c | 14 +++++++------- bgpd/bgp_packet.c | 47 +++++++++++++++++++++-------------------------- 4 files changed, 57 insertions(+), 62 deletions(-) (limited to 'bgpd') diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index c702946b..417e6222 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -701,7 +701,7 @@ bgp_attr_aspath (struct peer *peer, bgp_size_t length, } /* Forward pointer. */ - stream_forward (peer->ibuf, length); + stream_forward_getp (peer->ibuf, length); /* Set aspath attribute flag. */ attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_AS_PATH); @@ -789,7 +789,7 @@ bgp_attr_local_pref (struct peer *peer, bgp_size_t length, receiving speaker. */ if (peer_sort (peer) == BGP_PEER_EBGP) { - stream_forward (peer->ibuf, length); + stream_forward_getp (peer->ibuf, length); return 0; } @@ -859,7 +859,7 @@ bgp_attr_community (struct peer *peer, bgp_size_t length, { attr->community = community_parse ((u_int32_t *)stream_pnt (peer->ibuf), length); - stream_forward (peer->ibuf, length); + stream_forward_getp (peer->ibuf, length); } attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES); @@ -908,7 +908,7 @@ bgp_attr_cluster_list (struct peer *peer, bgp_size_t length, attr->cluster = cluster_parse ((struct in_addr *)stream_pnt (peer->ibuf), length); - stream_forward (peer->ibuf, length);; + stream_forward_getp (peer->ibuf, length);; attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_CLUSTER_LIST); @@ -991,7 +991,7 @@ bgp_mp_reach_parse (struct peer *peer, bgp_size_t length, struct attr *attr, while (snpa_num--) { snpa_len = stream_getc (s); - stream_forward (s, (snpa_len + 1) >> 1); + stream_forward_getp (s, (snpa_len + 1) >> 1); } nlri_len = lim - stream_pnt (s); @@ -1008,7 +1008,7 @@ bgp_mp_reach_parse (struct peer *peer, bgp_size_t length, struct attr *attr, mp_update->nlri = stream_pnt (s); mp_update->length = nlri_len; - stream_forward (s, nlri_len); + stream_forward_getp (s, nlri_len); return 0; } @@ -1045,7 +1045,7 @@ bgp_mp_unreach_parse (struct peer *peer, int length, mp_withdraw->nlri = stream_pnt (s); mp_withdraw->length = withdraw_len; - stream_forward (s, withdraw_len); + stream_forward_getp (s, withdraw_len); return 0; } @@ -1061,7 +1061,7 @@ bgp_attr_ext_communities (struct peer *peer, bgp_size_t length, { attr->ecommunity = ecommunity_parse ((u_int8_t *)stream_pnt (peer->ibuf), length); - stream_forward (peer->ibuf, length); + stream_forward_getp (peer->ibuf, length); } attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_EXT_COMMUNITIES); @@ -1085,7 +1085,7 @@ bgp_attr_unknown (struct peer *peer, struct attr *attr, u_char flag, "Unknown attribute type %d length %d is received", type, length); /* Forward read pointer of input stream. */ - stream_forward (peer->ibuf, length); + stream_forward_getp (peer->ibuf, length); /* Adjest total length to include type and length. */ total = length + (CHECK_FLAG (flag, BGP_ATTR_FLAG_EXTLEN) ? 4 : 3); @@ -1348,7 +1348,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, bgp = bgp_get_default (); /* Remember current pointer. */ - cp = stream_get_putp (s); + cp = stream_get_endp (s); /* Origin attribute. */ stream_putc (s, BGP_ATTR_FLAG_TRANS); @@ -1533,7 +1533,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_putc (s, BGP_ATTR_FLAG_OPTIONAL); stream_putc (s, BGP_ATTR_MP_REACH_NLRI); - sizep = stream_get_putp (s); + sizep = stream_get_endp (s); stream_putc (s, 0); /* Length of this attribute. */ stream_putw (s, AFI_IP6); /* AFI */ stream_putc (s, safi); /* SAFI */ @@ -1555,7 +1555,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_put_prefix (s, p); /* Set MP attribute length. */ - stream_putc_at (s, sizep, (stream_get_putp (s) - sizep) - 1); + stream_putc_at (s, sizep, (stream_get_endp (s) - sizep) - 1); } #endif /* HAVE_IPV6 */ @@ -1565,7 +1565,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_putc (s, BGP_ATTR_FLAG_OPTIONAL); stream_putc (s, BGP_ATTR_MP_REACH_NLRI); - sizep = stream_get_putp (s); + sizep = stream_get_endp (s); stream_putc (s, 0); /* Length of this attribute. */ stream_putw (s, AFI_IP); /* AFI */ stream_putc (s, SAFI_MULTICAST); /* SAFI */ @@ -1580,7 +1580,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_put_prefix (s, p); /* Set MP attribute length. */ - stream_putc_at (s, sizep, (stream_get_putp (s) - sizep) - 1); + stream_putc_at (s, sizep, (stream_get_endp (s) - sizep) - 1); } if (p->family == AF_INET && safi == SAFI_MPLS_VPN) @@ -1589,7 +1589,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_putc (s, BGP_ATTR_FLAG_OPTIONAL); stream_putc (s, BGP_ATTR_MP_REACH_NLRI); - sizep = stream_get_putp (s); + sizep = stream_get_endp (s); stream_putc (s, 0); /* Length of this attribute. */ stream_putw (s, AFI_IP); /* AFI */ stream_putc (s, BGP_SAFI_VPNV4); /* SAFI */ @@ -1609,7 +1609,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_put (s, &p->u.prefix, PSIZE (p->prefixlen)); /* Set MP attribute length. */ - stream_putc_at (s, sizep, (stream_get_putp (s) - sizep) - 1); + stream_putc_at (s, sizep, (stream_get_endp (s) - sizep) - 1); } /* Extended Communities attribute. */ @@ -1684,7 +1684,7 @@ bgp_packet_attribute (struct bgp *bgp, struct peer *peer, stream_put (s, attr->transit->val, attr->transit->length); /* Return total size of attribute. */ - return stream_get_putp (s) - cp; + return stream_get_endp (s) - cp; } bgp_size_t @@ -1696,12 +1696,12 @@ bgp_packet_withdraw (struct peer *peer, struct stream *s, struct prefix *p, unsigned long attrlen_pnt; bgp_size_t size; - cp = stream_get_putp (s); + cp = stream_get_endp (s); stream_putc (s, BGP_ATTR_FLAG_OPTIONAL); stream_putc (s, BGP_ATTR_MP_UNREACH_NLRI); - attrlen_pnt = stream_get_putp (s); + attrlen_pnt = stream_get_endp (s); stream_putc (s, 0); /* Length of this attribute. */ stream_putw (s, family2afi (p->family)); @@ -1727,10 +1727,10 @@ bgp_packet_withdraw (struct peer *peer, struct stream *s, struct prefix *p, } /* Set MP attribute length. */ - size = stream_get_putp (s) - attrlen_pnt - 1; + size = stream_get_endp (s) - attrlen_pnt - 1; stream_putc_at (s, attrlen_pnt, size); - return stream_get_putp (s) - cp; + return stream_get_endp (s) - cp; } /* Initialization of attribute. */ @@ -1757,7 +1757,7 @@ bgp_dump_routes_attr (struct stream *s, struct attr *attr, struct aspath *aspath; /* Remember current pointer. */ - cp = stream_get_putp (s); + cp = stream_get_endp (s); /* Place holder of length. */ stream_putw (s, 0); @@ -1861,7 +1861,7 @@ bgp_dump_routes_attr (struct stream *s, struct attr *attr, stream_putc(s, BGP_ATTR_FLAG_OPTIONAL); stream_putc(s, BGP_ATTR_MP_REACH_NLRI); - sizep = stream_get_putp (s); + sizep = stream_get_endp (s); /* MP header */ stream_putc (s, 0); /* Length of this attribute. */ @@ -1881,11 +1881,11 @@ bgp_dump_routes_attr (struct stream *s, struct attr *attr, stream_put_prefix(s, prefix); /* Set MP attribute length. */ - stream_putc_at (s, sizep, (stream_get_putp (s) - sizep) - 1); + stream_putc_at (s, sizep, (stream_get_endp (s) - sizep) - 1); } #endif /* HAVE_IPV6 */ /* Return total size of attribute. */ - len = stream_get_putp (s) - cp - 2; + len = stream_get_endp (s) - cp - 2; stream_putw_at (s, cp, len); } diff --git a/bgpd/bgp_dump.c b/bgpd/bgp_dump.c index 549a4f08..0fb5ed8d 100644 --- a/bgpd/bgp_dump.c +++ b/bgpd/bgp_dump.c @@ -185,7 +185,7 @@ bgp_dump_header (struct stream *obuf, int type, int subtype) void bgp_dump_set_size (struct stream *s, int type) { - stream_putl_at (s, 8, stream_get_putp (s) - BGP_DUMP_HEADER_SIZE); + stream_putl_at (s, 8, stream_get_endp (s) - BGP_DUMP_HEADER_SIZE); } void @@ -290,7 +290,7 @@ bgp_dump_routes_entry (struct prefix *p, struct bgp_info *info, int afi, /* Set length. */ bgp_dump_set_size (obuf, type); - fwrite (STREAM_DATA (obuf), stream_get_putp (obuf), 1, bgp_dump_routes.fp); + fwrite (STREAM_DATA (obuf), stream_get_endp (obuf), 1, bgp_dump_routes.fp); fflush (bgp_dump_routes.fp); } @@ -416,7 +416,7 @@ bgp_dump_state (struct peer *peer, int status_old, int status_new) bgp_dump_set_size (obuf, MSG_PROTOCOL_BGP4MP); /* Write to the stream. */ - fwrite (STREAM_DATA (obuf), stream_get_putp (obuf), 1, bgp_dump_all.fp); + fwrite (STREAM_DATA (obuf), stream_get_endp (obuf), 1, bgp_dump_all.fp); fflush (bgp_dump_all.fp); } @@ -445,7 +445,7 @@ bgp_dump_packet_func (struct bgp_dump *bgp_dump, struct peer *peer, bgp_dump_set_size (obuf, MSG_PROTOCOL_BGP4MP); /* Write to the stream. */ - fwrite (STREAM_DATA (obuf), stream_get_putp (obuf), 1, bgp_dump->fp); + fwrite (STREAM_DATA (obuf), stream_get_endp (obuf), 1, bgp_dump->fp); fflush (bgp_dump->fp); } diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 72503836..b1d0fc14 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -675,15 +675,15 @@ bgp_open_capability_orf (struct stream *s, struct peer *peer, safi = BGP_SAFI_VPNV4; stream_putc (s, BGP_OPEN_OPT_CAP); - capp = stream_get_putp (s); /* Set Capability Len Pointer */ + capp = stream_get_endp (s); /* Set Capability Len Pointer */ stream_putc (s, 0); /* Capability Length */ stream_putc (s, code); /* Capability Code */ - orfp = stream_get_putp (s); /* Set ORF Len Pointer */ + orfp = stream_get_endp (s); /* Set ORF Len Pointer */ stream_putc (s, 0); /* ORF Length */ stream_putw (s, afi); stream_putc (s, 0); stream_putc (s, safi); - numberp = stream_get_putp (s); /* Set Number Pointer */ + numberp = stream_get_endp (s); /* Set Number Pointer */ stream_putc (s, 0); /* Number of ORFs */ /* Address Prefix ORF */ @@ -717,11 +717,11 @@ bgp_open_capability_orf (struct stream *s, struct peer *peer, stream_putc_at (s, numberp, number_of_orfs); /* Total ORF Len. */ - orf_len = stream_get_putp (s) - orfp - 1; + orf_len = stream_get_endp (s) - orfp - 1; stream_putc_at (s, orfp, orf_len); /* Total Capability Len. */ - cap_len = stream_get_putp (s) - capp - 1; + cap_len = stream_get_endp (s) - capp - 1; stream_putc_at (s, capp, cap_len); } @@ -735,7 +735,7 @@ bgp_open_capability (struct stream *s, struct peer *peer) safi_t safi; /* Remember current pointer for Opt Parm Len. */ - cp = stream_get_putp (s); + cp = stream_get_endp (s); /* Opt Parm Len. */ stream_putc (s, 0); @@ -851,6 +851,6 @@ bgp_open_capability (struct stream *s, struct peer *peer) } /* Total Opt Parm Len. */ - len = stream_get_putp (s) - cp - 1; + len = stream_get_endp (s) - cp - 1; stream_putc_at (s, cp, len); } diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 201ffbbe..8f7577be 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -67,7 +67,7 @@ bgp_packet_set_marker (struct stream *s, u_char type) stream_putc (s, type); /* Return current stream size. */ - return stream_get_putp (s); + return stream_get_endp (s); } /* Set BGP packet header size entry. If size is zero then use current @@ -78,12 +78,8 @@ bgp_packet_set_size (struct stream *s) int cp; /* Preserve current pointer. */ - cp = stream_get_putp (s); - stream_set_putp (s, BGP_MARKER_SIZE); - stream_putw (s, cp); - - /* Write back current pointer. */ - stream_set_putp (s, cp); + cp = stream_get_endp (s); + stream_putw_at (s, BGP_MARKER_SIZE, cp); return cp; } @@ -112,7 +108,6 @@ bgp_packet_dup (struct stream *s) new = stream_new (stream_get_endp (s)); new->endp = s->endp; - new->putp = s->putp; new->getp = s->getp; memcpy (new->data, s->data, stream_get_endp (s)); @@ -202,7 +197,7 @@ bgp_update_packet (struct peer *peer, afi_t afi, safi_t safi) { bgp_packet_set_marker (s, BGP_MSG_UPDATE); stream_putw (s, 0); - pos = stream_get_putp (s); + pos = stream_get_endp (s); stream_putw (s, 0); total_attr_len = bgp_packet_attribute (NULL, peer, s, adv->baa->attr, @@ -330,7 +325,7 @@ bgp_withdraw_packet (struct peer *peer, afi_t afi, safi_t safi) stream_put_prefix (s, &rn->p); else { - pos = stream_get_putp (s); + pos = stream_get_endp (s); stream_putw (s, 0); total_attr_len = bgp_packet_withdraw (peer, s, &rn->p, afi, safi, prd, NULL); @@ -359,7 +354,7 @@ bgp_withdraw_packet (struct peer *peer, afi_t afi, safi_t safi) if (afi == AFI_IP && safi == SAFI_UNICAST) { unfeasible_len - = stream_get_putp (s) - BGP_HEADER_SIZE - BGP_UNFEASIBLE_LEN; + = stream_get_endp (s) - BGP_HEADER_SIZE - BGP_UNFEASIBLE_LEN; stream_putw_at (s, BGP_HEADER_SIZE, unfeasible_len); stream_putw (s, 0); } @@ -414,7 +409,7 @@ bgp_default_update_send (struct peer *peer, struct attr *attr, stream_putw (s, 0); /* Make place for total attribute length. */ - pos = stream_get_putp (s); + pos = stream_get_endp (s); stream_putw (s, 0); total_attr_len = bgp_packet_attribute (NULL, peer, s, attr, &p, afi, safi, from, NULL, NULL); @@ -479,7 +474,7 @@ bgp_default_withdraw_send (struct peer *peer, afi_t afi, safi_t safi) bgp_packet_set_marker (s, BGP_MSG_UPDATE); /* Unfeasible Routes Length. */; - cp = stream_get_putp (s); + cp = stream_get_endp (s); stream_putw (s, 0); /* Withdrawn Routes. */ @@ -487,7 +482,7 @@ bgp_default_withdraw_send (struct peer *peer, afi_t afi, safi_t safi) { stream_put_prefix (s, &p); - unfeasible_len = stream_get_putp (s) - cp - 2; + unfeasible_len = stream_get_endp (s) - cp - 2; /* Set unfeasible len. */ stream_putw_at (s, cp, unfeasible_len); @@ -497,7 +492,7 @@ bgp_default_withdraw_send (struct peer *peer, afi_t afi, safi_t safi) } else { - pos = stream_get_putp (s); + pos = stream_get_endp (s); stream_putw (s, 0); total_attr_len = bgp_packet_withdraw (peer, s, &p, afi, safi, NULL, NULL); @@ -665,7 +660,7 @@ bgp_write (struct thread *thread) } if (num != writenum) { - stream_forward (s, num); + stream_forward_getp (s, num); if (write_errno == EAGAIN) break; @@ -1016,7 +1011,7 @@ bgp_route_refresh_send (struct peer *peer, afi_t afi, safi_t safi, orf_refresh = 1; stream_putc (s, when_to_refresh); stream_putc (s, orf_type); - orfp = stream_get_putp (s); + orfp = stream_get_endp (s); stream_putw (s, 0); if (remove) @@ -1043,7 +1038,7 @@ bgp_route_refresh_send (struct peer *peer, afi_t afi, safi_t safi, } /* Total ORF Entry Len. */ - orf_len = stream_get_putp (s) - orfp - 2; + orf_len = stream_get_endp (s) - orfp - 2; stream_putw_at (s, orfp, orf_len); } @@ -1398,7 +1393,7 @@ bgp_open_receive (struct peer *peer, bgp_size_t size) if (ret < 0) return ret; - stream_forward (peer->ibuf, optlen); + stream_forward_getp (peer->ibuf, optlen); } else { @@ -1506,7 +1501,7 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) withdraw.safi = SAFI_UNICAST; withdraw.nlri = stream_pnt (s); withdraw.length = withdraw_len; - stream_forward (s, withdraw_len); + stream_forward_getp (s, withdraw_len); } /* Attribute total length check. */ @@ -1568,7 +1563,7 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) update.safi = SAFI_UNICAST; update.nlri = stream_pnt (s); update.length = update_len; - stream_forward (s, update_len); + stream_forward_getp (s, update_len); } /* NLRI is processed only when the peer is configured specific @@ -1992,7 +1987,7 @@ bgp_route_refresh_receive (struct peer *peer, bgp_size_t size) peer->orf_plist[afi][safi] = prefix_list_lookup (AFI_ORF_PREFIX, name); } - stream_forward (s, orf_len); + stream_forward_getp (s, orf_len); } if (BGP_DEBUG (normal, NORMAL)) zlog_debug ("%s rcvd Refresh %s ORF request", peer->host, @@ -2162,7 +2157,7 @@ bgp_read_packet (struct peer *peer) int nbytes; int readsize; - readsize = peer->packet_size - peer->ibuf->putp; + readsize = peer->packet_size - stream_get_endp (peer->ibuf); /* If size is zero then return. */ if (! readsize) @@ -2218,7 +2213,7 @@ bgp_read_packet (struct peer *peer) } /* We read partial packet. */ - if (peer->ibuf->putp != peer->packet_size) + if (stream_get_endp (peer->ibuf) != peer->packet_size) return -1; return 0; @@ -2271,7 +2266,7 @@ bgp_read (struct thread *thread) if (peer->packet_size == 0) peer->packet_size = BGP_HEADER_SIZE; - if (peer->ibuf->putp < BGP_HEADER_SIZE) + if (stream_get_endp (peer->ibuf) < BGP_HEADER_SIZE) { ret = bgp_read_packet (peer); @@ -2280,7 +2275,7 @@ bgp_read (struct thread *thread) goto done; /* Get size and type. */ - stream_forward (peer->ibuf, BGP_MARKER_SIZE); + stream_forward_getp (peer->ibuf, BGP_MARKER_SIZE); memcpy (notify_data_length, stream_pnt (peer->ibuf), 2); size = stream_getw (peer->ibuf); type = stream_getc (peer->ibuf); -- cgit v1.2.1