4.2.3. Processing Received Updates
When a NEW BGP speaker receives an update from an OLD one, it should
be prepared to receive the AS4_PATH attribute along with the existing
AS_PATH attribute. If the AS4_PATH attribute is also received, both
the attributes will be used to construct the exact AS path
information, and therefore the information carried by both the
attributes will be considered for AS path loop detection.
Note that a route may have traversed a series of autonomous systems
with 2-octet AS numbers and OLD BGP speakers only. In that case, if
the route carries the AS4_PATH attribute, this attribute must have
remained unmodified since the route left the last NEW BGP speaker.
The trailing AS path information (representing autonomous systems
with 2-octet AS numbers and OLD BGP speakers only) is contained only
in the current AS_PATH attribute (encoded in the leading part of the
AS_PATH attribute).
Under certain conditions, it may not be possible to reconstruct the
entire AS path information from the AS_PATH and the AS4_PATH
attributes of a route. This occurs when two or more routes that
carry the AS4_PATH attribute are aggregated by an OLD BGP speaker,
and the AS4_PATH attribute of at least one of these routes carries at
least one 4-octet AS number (as oppose to a 2-octet AS number that is
encoded in 4 octets). Depending on the implementation, either the
AS4_PATH attribute would be lost during route aggregation, or both
the AS_PATH attribute and the AS4_PATH attribute would contain valid,
partial information that cannot be combined seamlessly, resulting in
incomplete AS path information in these cases.
A NEW BGP speaker should also be prepared to receive the
AS4_AGGREGATOR attribute along with the AGGREGATOR attribute from an
OLD BGP speaker. When both the attributes are received, if the AS
number in the AGGREGATOR attribute is not AS_TRANS, then:
- the AS4_AGGREGATOR attribute and the AS4_PATH attribute SHALL
be ignored,
- the AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and
- the AS_PATH attribute SHALL be taken as the AS path
information.
Otherwise,
- the AGGREGATOR attribute SHALL be ignored,
- the AS4_AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and
- the AS path information would need to be constructed, as in all
other cases.
In order to construct the AS path information, it would be necessary
to first calculate the number of AS numbers in the AS_PATH and
AS4_PATH attributes using the method specified in Section 9.1.2.2
[BGP] and [RFC3065] for route selection.