< draft-ietf-msdp-spec-08.txt   draft-ietf-msdp-spec-09.txt >
Network Working Group David Meyer (Editor) Network Working Group David Meyer (Editor)
INTERNET DRAFT INTERNET DRAFT Bill Fenner (Editor)
Category Standards Track Category Standards Track
April, 2001 May, 2001
Multicast Source Discovery Protocol (MSDP) Multicast Source Discovery Protocol (MSDP)
<draft-ietf-msdp-spec-08.txt> <draft-ietf-msdp-spec-09.txt>
1. Status of this Memo 1. Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. all provisions of Section 10 of RFC 2026.
Internet Drafts are working documents of the Internet Engineering Internet Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 2, line 7 skipping to change at page 2, line 7
2. Abstract 2. Abstract
The Multicast Source Discovery Protocol, MSDP, describes a mechanism The Multicast Source Discovery Protocol, MSDP, describes a mechanism
to connect multiple PIM-SM domains together. Each PIM-SM domain uses to connect multiple PIM-SM domains together. Each PIM-SM domain uses
its own independent RP(s) and does not have to depend on RPs in other its own independent RP(s) and does not have to depend on RPs in other
domains. domains.
3. Copyright Notice 3. Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
4. Introduction 4. Introduction
The Multicast Source Discovery Protocol, MSDP, describes a mechanism The Multicast Source Discovery Protocol, MSDP, describes a mechanism
to connect multiple PIM-SM domains together. Each PIM-SM domain uses to connect multiple PIM-SM domains together. Each PIM-SM domain uses
its own independent RP(s) and does not have to depend on RPs in other its own independent RP(s) and does not have to depend on RPs in other
domains. Advantages of this approach include: domains. Advantages of this approach include:
o No Third-party resource dependencies on RP o No Third-party resource dependencies on RP
PIM-SM domains can rely on their own RPs only. PIM-SM domains can rely on their own RPs only.
o Receiver only Domains o Receiver only Domains
Domains with only receivers get data without globally Domains with only receivers get data without globally
advertising group membership. advertising group membership.
Note that MSDP may be used with protocols other than PIM-SM, but such
usage is not specified in this memo.
The keywords MUST, MUST NOT, MAY, OPTIONAL, REQUIRED, RECOMMENDED, The keywords MUST, MUST NOT, MAY, OPTIONAL, REQUIRED, RECOMMENDED,
SHALL, SHALL NOT, SHOULD, SHOULD NOT are to be interpreted as defined SHALL, SHALL NOT, SHOULD, SHOULD NOT are to be interpreted as defined
in RFC 2119 [RFC2119]. in RFC 2119 [RFC2119].
5. Overview 5. Overview
MSDP-speaking routers in a PIM-SM [RFC2362] domain will have a MSDP MSDP-speaking routers in a PIM-SM [RFC2362] domain have a MSDP
peering relationship with MSDP peers in another domain. The peering peering relationship with MSDP peers in another domain. The peering
relationship will be made up of a TCP connection in which control relationship is made up of a TCP connection in which control
information is exchanged. Each domain will have one or more information is exchanged. Each domain has one or more connections to
connections to this virtual topology. this virtual topology.
The purpose of this topology is to allow domains discover multicast The purpose of this topology is to allow domains to discover
sources from other domains. If the multicast sources are of interest multicast sources from other domains. If the multicast sources are of
to a domain which has receivers, the normal source-tree building interest to a domain which has receivers, the normal source-tree
mechanism in PIM-SM will be used to deliver multicast data over an building mechanism in PIM-SM will be used to deliver multicast data
inter-domain distribution tree. over an inter-domain distribution tree.
We envision this virtual topology will essentially be congruent to We envision this virtual topology will essentially be congruent to
the existing BGP topology used in the unicast-based Internet today. the existing BGP topology used in the unicast-based Internet today.
That is, the TCP connections between MSDP peers are likely to be That is, the TCP connections between MSDP peers are likely to be
congruent to the connections in the BGP routing system. congruent to the connections in the BGP routing system.
6. Procedure 6. Procedure
A source in a PIM-SM domain originates traffic to a multicast group. When an RP in a PIM-SM domain first learns of a new sender, e.g. via
The PIM DR which is directly connected to the source sends the data PIM register messages, it constructs a "Source-Active" (SA) message
encapsulated in a PIM Register message to the RP in the domain. and sends it to its MSDP peers. The SA message contains the following
fields:
The RP will construct a "Source-Active" (SA) message and send it to
its MSDP peers. The SA message contains the following fields:
o Source address of the data source. o Source address of the data source.
o Group address the data source sends to. o Group address the data source sends to.
o IP address of the RP. o IP address of the RP.
Each MSDP peer receives and forwards the message away from the RP Each MSDP peer receives and forwards the message away from the RP
address in a "peer-RPF flooding" fashion. The notion of peer-RPF address in a "peer-RPF flooding" fashion. The notion of peer-RPF
flooding is with respect to forwarding SA messages. The BGP routing flooding is with respect to forwarding SA messages. The Multicast RPF
table is examined to determine which peer is the NEXT_HOP towards the Routing Information Base (MRIB) is examined to determine which peer
originating RP of the SA message. Such a peer is called an "RPF towards the originating RP of the SA message is selected. Such a peer
peer". See section 14 below for the details of peer-RPF forwarding. is called an "RPF peer". See section 14 below for the details of
peer-RPF forwarding.
If the MSDP peer receives the SA from a non-RPF peer towards the If the MSDP peer receives the SA from a non-RPF peer towards the
originating RP, it will drop the message. Otherwise, it forwards the originating RP, it will drop the message. Otherwise, it forwards the
message to all its MSDP peers (except the one from which it received message to all its MSDP peers (except the one from which it received
the SA message). the SA message).
The flooding can be further constrained to children of the peer by
interrogating BGP reachability information. That is, if a BGP peer
advertises a route (back to you) and you are the next to last AS in
the AS_PATH, the peer is using you as the NEXT_HOP. This is known in
other circles as Split-Horizon with Poison Reverse. An implementation
SHOULD NOT forward SA messages (which were originated from the RP
address covered by a route) to peers which have not Poison Reversed
that route.
When an MSDP peer which is also an RP for its own domain receives a When an MSDP peer which is also an RP for its own domain receives a
new SA message, it determines if it has any group members interested new SA message, it determines if it has any group members interested
in the group which the SA message describes. That is, the RP checks in the group which the SA message describes. That is, the RP checks
for a (*,G) entry with a non-empty outgoing interface list; this for a (*,G) entry with a non-empty outgoing interface list; this
implies that the domain is interested in the group. In this case, the implies that the domain is interested in the group. In this case, the
RP triggers a (S,G) join event towards the data source as if a RP triggers a (S,G) join event towards the data source as if a
Join/Prune message was received addressed to the RP itself. This sets Join/Prune message was received addressed to the RP itself. This sets
up a branch of the source-tree to this domain. Subsequent data up a branch of the source-tree to this domain. Subsequent data
packets arrive at the RP which are forwarded down the shared-tree packets arrive at the RP which are forwarded down the shared-tree
inside the domain. If leaf routers choose to join the source-tree inside the domain. If leaf routers choose to join the source-tree
skipping to change at page 4, line 11 skipping to change at page 4, line 7
conventions. Finally, if an RP in a domain receives a PIM Join conventions. Finally, if an RP in a domain receives a PIM Join
message for a new group G, the RP SHOULD trigger a (S,G) join event message for a new group G, the RP SHOULD trigger a (S,G) join event
for each SA for that group in its cache. for each SA for that group in its cache.
This procedure has been affectionately named flood-and-join because This procedure has been affectionately named flood-and-join because
if any RP is not interested in the group, they can ignore the SA if any RP is not interested in the group, they can ignore the SA
message. Otherwise, they join a distribution tree. message. Otherwise, they join a distribution tree.
7. Caching 7. Caching
A MSDP speaker MUST cache SA messages. Caching allows pacing of MSDP A MSDP speaker SHOULD cache SA messages. Caching allows pacing of
messages as well as reducing join latency for new receivers of a MSDP messages as well as reducing join latency for new receivers of a
group G at an orginating RP which has existing MSDP (S,G) state. In group G at an originating RP which has existing MSDP (S,G) state. In
addition, caching greatly aids in diagnosis and debugging of various addition, caching greatly aids in diagnosis and debugging of various
problems. problems.
8. Timers 8. Timers
The main timers for MSDP are: SA-Advertisement-Timer, SA-Hold-Down- The main timers for MSDP are: SA-Advertisement-Timer, SA-Hold-Down-
Timer, SA Cache Entry timer, KeepAlive timer, and ConnectRetry and Timer, SA Cache Entry timer, KeepAlive timer, ConnectRetry and Peer
Peer Hold Timer. Each is considered below. Hold Timer. Each is considered below.
8.1. SA-Advertisement-Timer 8.1. SA-Advertisement-Timer
RPs which originate SA messages do it periodically as long as there RPs which originate SA messages do it periodically as long as there
is data being sent by the source. There is one SA-Advertisement-Timer is data being sent by the source. There is one SA-Advertisement-Timer
covering the sources that an RP may advertise. [SA-Advertisement- covering the sources that an RP may advertise. [SA-Advertisement-
Period] MUST be 60 seconds. An RP MUST not send more than one Period] MUST be 60 seconds. An RP MUST not send more than one
periodic SA message for a given (S,G) within an SA Advertisement periodic SA message for a given (S,G) within an SA Advertisement
interval. Originating periodic SA messages is important so that new interval. Originating periodic SA messages is required to keep
receivers who join after a source has been active can get data announcements alive in caches, and so that new receivers who join
quickly via the receiver's own RP. Finally, an originating RP SHOULD after a source has been active can get data quickly via a non-caching
trigger the transmission of an SA message as soon as it receives data RP. Finally, an originating RP SHOULD trigger the transmission of an
from an internal source for the first time. SA message as soon as it receives data from an internal source for
the first time.
8.2. SA-Advertisement-Timer Processing 8.2. SA-Advertisement-Timer Processing
An RP MUST spread the generation of periodic SA messages over its An RP MUST spread the generation of periodic SA messages over its
reporting interval (i.e. SA-Advertisement-Period). An RP starts the reporting interval (i.e. SA-Advertisement-Period). An RP starts the
SA-Advertisement-Timer when the MSDP process is configured. When the SA-Advertisement-Timer when the MSDP process is configured. When the
timer expires, an RP resets the timer to [SA-Advertisement-Period] timer expires, an RP resets the timer to [SA-Advertisement-Period]
seconds, and begins the advertisement of its active sources. Active seconds, and begins the advertisement of its active sources. Active
sources are advertised in the following manner: An RP packs its sources are advertised in the following manner: An RP packs its
active sources into an SA message until the largest MSDP packet that active sources into an SA message until the largest MSDP packet that
skipping to change at page 5, line 20 skipping to change at page 5, line 16
Each entry in an SA Cache has an associated SA-State-Timer. A Each entry in an SA Cache has an associated SA-State-Timer. A
(S,G)-SA-State-Timer is started when an (S,G)-SA message is initially (S,G)-SA-State-Timer is started when an (S,G)-SA message is initially
received by a MSDP peer. The timer is reset to [SA-State-Period] if received by a MSDP peer. The timer is reset to [SA-State-Period] if
another (S,G)-SA message is received before the (S,G)-SA-State-Timer another (S,G)-SA message is received before the (S,G)-SA-State-Timer
expires. [SA-State-Period] MUST NOT be less than 90 seconds. expires. [SA-State-Period] MUST NOT be less than 90 seconds.
8.4. SA-Hold-Down-Timer 8.4. SA-Hold-Down-Timer
The per-(S,G) timer is set to [SA-Hold-Down-Period] when forwarding The per-(S,G) timer is set to [SA-Hold-Down-Period] when forwarding
an SA message, and a SA message MUST only be forwarded when it's an SA message, and a SA message MUST only be forwarded when its
associated timer is not running. [SA-Hold-Down-Period] SHOULD be set associated timer is not running. [SA-Hold-Down-Period] SHOULD be set
to 30 seconds. A MSDP peer MUST NOT forward a (S,G)-SA message it has to 30 seconds. A MSDP peer MUST NOT forward a (S,G)-SA message it has
received in during the previous [SA-Hold-Down-Period] seconds. received in during the previous [SA-Hold-Down-Period] seconds.
Finally, the timer is deleted when the SA cache entry is deleted. Finally, the timer is deleted when the SA cache entry is deleted.
8.5. KeepAlive Timer 8.5. Peer Hold Timer
The KeepAlive timer contols when to send MSDP KeepAlive messages. In If a system has not received any MSDP message within the period
particular, the KeepAlive timer is used to reset the TCP connection specified by the Hold Timer, then a Notification message with Hold
when the passive-connect side of the connection goes down. The Timer Expired Error Code MUST be sent and the MSDP connection MUST be
KeepAlive timer is set to [KeepAlive-Period] when the passive-connect closed. [Hold-Time-Period] MUST be at least three seconds. A
peer comes up. [KeepAlive-Period] SHOULD NOT be less that 75 seconds. suggested value for [Hold-Time-Period] is 90 seconds.
The timer is reset to [KeepAlive-Period] upon receipt of an MSDP
message from peer, and deleted when the timer expires or the
passive-connect peer closes the connection.
8.6. ConnectRetry Timer The Hold Timer is initialized to [Hold-Time-Period] when the peer's
transport connection is established, and is reset to [Hold-Time-
Period] when any MSDP message is received. Finally, the timer is
deleted when the peer's transport connection is closed.
8.6. KeepAlive Timer
Once an MSDP transport connection is established, each side of the
connection sends a KeepAlive message and sets a KeepAlive timer. If
the KeepAlive timer expires, the local system sends a KeepAlive
message and restarts its KeepAlive timer.
The KeepAlive timer is set to [KeepAlive-Period] when the peer comes
up. [KeepAlive-Period] SHOULD NOT be less than 75 seconds, and MUST
NOT be less than [Hold-Time-Period]. The timer is reset to
[KeepAlive-Period] each time an MSDP message is sent to peer, and
reset when the timer expires. Finally, the KeepAlive timer is deleted
when the peer's transport connection is closed.
8.7. ConnectRetry Timer
The ConnectRetry timer is used by an MSDP peer to transition from The ConnectRetry timer is used by an MSDP peer to transition from
INACTIVE to CONNECTING states. There is one timer per peer, and the INACTIVE to CONNECTING states. There is one timer per peer, and the
[ConnectRetry-Period] SHOULD be set to 30 seconds. The timer is [ConnectRetry-Period] SHOULD be set to 30 seconds. The timer is
initialized to [ConnectRetry-Period] when an MSDP peer's active initialized to [ConnectRetry-Period] when an MSDP peer's active
connect attempt fails. When the timer expires, the peer retries the connect attempt fails. When the timer expires, the peer retries the
connection and the timer is reset to [ConnectRetry-Period]. It is connection and the timer is reset to [ConnectRetry-Period]. It is
deleted if either the connection transitions into ESTABLISHED state deleted if either the connection transitions into ESTABLISHED state
or the peer is deconfigured. or the peer is deconfigured.
8.7. Peer Hold Timer
If a system does not receive successive KeepAlive messages (or any SA
message) within the period specified by the Hold Timer, then a
Notification message with Hold Timer Expired Error Code MUST be sent
and the MSDP connection MUST be closed. [Hold-Time-Period] MUST be at
least three seconds. A suggested value for [Hold-Time-Period] is 90
seconds.
The Hold Timer is initialized to [Hold-Time-Period] when the peer's
transport connection is established, and is reset to [Hold-Time-
Period] when any MSDP message is received.
9. Intermediate MSDP Peers 9. Intermediate MSDP Peers
Intermediate RPs do not originate periodic SA messages on behalf of Intermediate MSDP speakers do not originate periodic SA messages on
sources in other domains. In general, an RP MUST only originate an SA behalf of sources in other domains. In general, an RP MUST only
for a source which would register to it. originate an SA for a source which would register to it, and ONLY RPs
may originate SA messages.
10. SA Filtering and Policy 10. SA Filtering and Policy
As the number of (S,G) pairs increases in the Internet, an RP may As the number of (S,G) pairs increases in the Internet, an RP may
want to filter which sources it describes in SA messages. Also, want to filter which sources it describes in SA messages. Also,
filtering may be used as a matter of policy which at the same time filtering may be used as a matter of policy which at the same time
can reduce state. Only the RP co-located in the same domain as the can reduce state. Only the RP co-located in the same domain as the
source can restrict SA messages. Note, however, that MSDP peers in source can restrict SA messages. Note, however, that MSDP peers in
transit domains should not filter SA messages or the flood-and-join transit domains should not filter SA messages or the flood-and-join
model can not guarantee that sources will be known throughout the model can not guarantee that sources will be known throughout the
skipping to change at page 7, line 10 skipping to change at page 7, line 10
direction and peer-RPF fail otherwise. An exception occurs at an direction and peer-RPF fail otherwise. An exception occurs at an
administrative scope [RFC2365] boundary. In particular, a SA message administrative scope [RFC2365] boundary. In particular, a SA message
for a (S,G) MUST NOT be sent to peers which are on the other side of for a (S,G) MUST NOT be sent to peers which are on the other side of
an administrative scope boundary for G. an administrative scope boundary for G.
11. SA Requests 11. SA Requests
A MSDP speaker MAY accept SA-Requests from other MSDP peers. When an A MSDP speaker MAY accept SA-Requests from other MSDP peers. When an
MSDP speaker receives an SA-Request for a group range, it will MSDP speaker receives an SA-Request for a group range, it will
respond to the peer with a set of SA entries, in an SA-Response respond to the peer with a set of SA entries, in an SA-Response
message, for all active sources sending to the group range requested message, for all active sources in its SA cache sending to the group
in the SA-Request message. The peer that sends the request will not requested in the SA-Request message. The peer that sends the request
flood the responding SA-Response message to other peers. See section will not flood the responding SA-Response message to other peers. See
17 for discussion of error handling relating to SA requests and section 17 for discussion of error handling relating to SA requests
responses. and responses.
12. Encapsulated Data Packets 12. Encapsulated Data Packets
For bursty sources, the RP may encapsulate multicast data from the The RP may encapsulate multicast data from the source. An interested
source. An interested RP may decapsulate the packet, which SHOULD be RP may decapsulate the packet, which SHOULD be forwarded as if a PIM
forwarded as if a PIM register encapsulated packet was received. That register encapsulated packet was received. That is, if packets are
is, if packets are already arriving over the interface toward the already arriving over the interface toward the source, then the
source, then the packet is dropped. Otherwise, if the outgoing packet is dropped. Otherwise, if the outgoing interface list is non-
interface list is non-null, the packet is forwarded appropriately. null, the packet is forwarded appropriately. Note that when doing
Note that when doing data encapsulation, an implementation MUST bound data encapsulation, an implementation MUST bound the time during
the time during which packets are encapsulated. which packets are encapsulated.
This allows for small bursts to be received before the multicast tree This allows for small bursts to be received before the multicast tree
is built back toward the source's domain. For example, an is built back toward the source's domain. For example, an
implementation SHOULD encapsulate at least the first packet to implementation SHOULD encapsulate at least the first packet to
provide service to bursty sources. provide service to bursty sources.
13. Other Scenarios 13. Other Scenarios
MSDP is not limited to deployment across different routing domains. MSDP is not limited to deployment across different routing domains.
It can be used within a routing domain when it is desired to deploy It can be used within a routing domain when it is desired to deploy
skipping to change at page 8, line 12 skipping to change at page 8, line 12
interconnected MSDP topology, each can learn about active sources as interconnected MSDP topology, each can learn about active sources as
well as RPs in other domains. well as RPs in other domains.
14. MSDP Peer-RPF Forwarding 14. MSDP Peer-RPF Forwarding
The MSDP Peer-RPF Forwarding rules are used for forwarding SA The MSDP Peer-RPF Forwarding rules are used for forwarding SA
messages throughout an MSDP enabled internet. Unlike the RPF check messages throughout an MSDP enabled internet. Unlike the RPF check
used when forwarding data packets, the Peer-RPF check is against the used when forwarding data packets, the Peer-RPF check is against the
RP address carried in the SA message. RP address carried in the SA message.
14.1. Peer-RPF Forwarding Rules 14.1. Definitions
An SA message originated by R and received by X The following definitions are used in the description of the Peer-RPF
from N is accepted if N is the peer-RPF neighbor for R, and is Forwarding Rules:
discarded otherwise.
MP(R,N) MP(N,X) 14.1.1. Multicast RPF Routing Information Base (MRIB)
R ---------....-------> N ------------------> X
SA(S,G,R) SA(S,G,R)
Where MP(R,N) is an MSDP peering path (one or more The MRIB is the multicast topology table. It is typically derived
MSDP peers) between R and N, and SA(S,G,R) is an from the unicast routing table or from other routing protocols such
SA message for source S on group G orignated by as multi-protocol BGP [RFC2283].
an RP R.
The peer-RPF neighbor is chosen deterministically, 14.1.2. RPF Route
using the first of the following rules that matches.
X accepts the SA from R forwarded by N if : The RPF route is the route that the MRIB chooses for a given address.
The RPF route for a SA's originating RP is used to select the peer
from which the SA is accepted.
(i). R is the RPF neighbor of X if we have an MSDP peering 14.2. Peer-RPF Forwarding Rules
with R (e.g. N == R).
(ii). N is the RPF neighbor of X if N is a MSDP peer of An SA message originated by R and received by X from N is
X and N is the next hop toward R. accepted if N is the peer-RPF neighbor for X, and is discarded
otherwise.
(iii) N is the RPF neighbor of X if N resides in the first AS MPP(R,N) MP(N,X)
towards R and N has a higher IP address than any other R ---------....-------> N ------------------> X
MSDP peer of X that resides in first AS towards R. SA(S,G,R) SA(S,G,R)
(iv). N is the RPF neighbor of X if (intra-domain case): Where MPP(R,N) is an MSDP peering path (zero or more MSDP
peers) between R and N. SA(S,G,R) is an SA message for source
S on group G originated by an RP R. MP(N,X) is an MSDP
peering between N and X.
(a). N == R (i.e. N originated the SA), or The peer-RPF neighbor is chosen deterministically, using the
first of the following rules that matches. In particular,
N is the RPF neighbor of X with respect to R if
(b). X and N are part of a MSDP Mesh Group. Note that in (i). N == R (X has an MSDP peering with R).
this case every member of mesh group is an peer-RPF
neighbor of X.
(v). If none of the above match, and we have an (ii). N is the BGP NEXT_HOP of the active RPF route
MSDP default-peer configured, the MSDP for R.
default-peer is the RPF neighbor.
14.2. MSDP default-peer semantics (iii). The active RPF route for R is learned through a
distance-vector or path-vector routing protocol
(e.g. BGP, RIP, DVMRP) and N is the neighbor that
advertised the active RPF route for R.
An MSDP default-peer is much like a default route. It is intended to (iv). N resides in an AS that is in the AS_PATH of the active
be used in those cases where a stub network isn't running BGP. An RPF route for R, and N has the highest IP address among
MSDP peer configured with a default-peer accepts all SA messages from the MSDP peers that reside in ASs in that AS_PATH.
the default-peer. Note that a router running BGP SHOULD NOT allow
configuration of default peers, since this allows the possibility for
SA looping or black-holes to occur.
14.3. MSDP mesh-group semantics (v). N is configured as the static RPF-peer for R.
14.3. MSDP static RPF-peer semantics
If none of the rules (i) - (iv) are able to determine an RPF peer for
R, a longest-match lookup is performed in the static RPF peer table.
This table MUST be able to contain a default entry, and SHOULD be
able to contain prefix or per-host (RP) entries. This table
statically maps RP addresses to peers, and allows configuration of
topology that is e.g. unknown to the MRIB.
The result of the longest-match lookup of an RP address R in the
static RPF peer table is an MSDP peer, which is the RPF neighbor for
R.
14.4. MSDP mesh-group semantics
A MSDP mesh-group is a operational mechanism for reducing SA A MSDP mesh-group is a operational mechanism for reducing SA
flooding, typically in an intra-domain setting. In particular, when flooding, typically in an intra-domain setting. In particular, when
some subset of a domain's MSDP speakers are fully meshed, then can be some subset of a domain's MSDP speakers are fully meshed, then can be
configured into a mesh-group. The semantics of the mesh-group are as configured into a mesh-group.
follows:
Note that mesh-groups assume that a member doesn't have to forward an
SA to other members of the mesh-group because the originator will
forward to all members. To be able for the originator to forward to
all members (and to have each member also be a potential originator),
the mesh-group must be a full mesh of MSDP peering among all members.
The semantics of the mesh-group are as follows:
(i). If a member R of a mesh-group M receives a SA message from an (i). If a member R of a mesh-group M receives a SA message from an
MSDP peer that is also a member of mesh-group M, R accepts the MSDP peer that is also a member of mesh-group M, R accepts the
SA message and forwards it to all of it's peers that are not SA message and forwards it to all of its peers that are not
part of any mesh-group. R MUST NOT forward the SA message to part of any mesh-group. R MUST NOT forward the SA message to
other members of mesh-group M. other members of mesh-group M.
(ii). If a member R of a mesh-group M receives a SA message from an (ii). If a member R of a mesh-group M receives a SA message from an
MSDP peer that is not a member of mesh-group M, and the SA MSDP peer that is not a member of mesh-group M, and the SA
message passes the peer-RPF check, then R forwards the SA message passes the peer-RPF check, then R forwards the SA
message to all members of mesh-group M. message to all members of mesh-group M.
(iii). Cross mesh-group forwarding
If a member R of a mesh-groups M and N receives an SA
message from an MSDP peer in mesh-group M, R forwards the SA
to its MSDP peers in mesh-group N if it receives that SA
message from a peer that is in the same mesh-group as its
peer-RPF neighbor for that SA.
For example, consider the case in which three routers (R1, R2,
and R3) and three mesh-groups (A, B, and C) are arranged in a
triangle, e.g.,
[R2] {A,B}
/ \
/ \
/ \
/ \
{A,C} [R1]--------[R3] {B,C}
Now, when R1 receives an SA message from R2 and R1's
peer-RPF neighbor for this SA lies in mesh-group A, R1
forwards the SA message its peers in other mesh-groups
(in particular, R3 in mesh-group C). Similarly, if R3's
peer-RPF neighbor lies in mesh-group B, R3 will forward an
SA message from R2. In this case, both R1 and R3 will send
SA messages to each other (because they share common mesh-group
C), but neither of them will forward any further the SA messages
received from each other (as their peer-RPF neighbors do
not lie in mesh-group C).
Note that since mesh-groups suspend peer-RPF checking of SAs received Note that since mesh-groups suspend peer-RPF checking of SAs received
from a mesh-group member ((i). above), they allow for mis- from a mesh-group member ((i). above), they allow for mis-
configuration to cause SA looping. configuration to cause SA looping.
15. MSDP Connection Establishment 15. MSDP Connection Establishment
MSDP messages will be encapsulated in a TCP connection. An MSDP peer MSDP messages will be encapsulated in a TCP connection. An MSDP peer
listens for new TCP connections on port 639. One side of the MSDP listens for new TCP connections on port 639. One side of the MSDP
peering relationship will listen on the well-known port and the other peering relationship will listen on the well-known port and the other
side will do an active connect to the well-known port. The side with side will do an active connect to the well-known port. The side with
skipping to change at page 12, line 13 skipping to change at page 13, line 13
disabled disabled
16. Packet Formats 16. Packet Formats
MSDP messages will be encoded in TLV format. If an implementation MSDP messages will be encoded in TLV format. If an implementation
receives a TLV that has length that is longer than expected, the TLV receives a TLV that has length that is longer than expected, the TLV
SHOULD be accepted. Any additional data SHOULD be ignored. SHOULD be accepted. Any additional data SHOULD be ignored.
16.1. MSDP TLV format: 16.1. MSDP TLV format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value .... | | Type | Length | Value .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (8 bits) Type (8 bits)
Describes the format of the Value field. Describes the format of the Value field.
Length (16 bits) Length (16 bits)
Length of Type, Length, and Value fields in octets. Length of Type, Length, and Value fields in octets.
minimum length required is 4 octets, except for minimum length required is 4 octets, except for
Keepalive messages. Keepalive messages. The maximum TLV length is 1400.
Value (variable length) Value (variable length)
Format is based on the Type value. See below. The length of Format is based on the Type value. See below. The length of
the value field is Length field minus 3. All reserved fields the value field is Length field minus 3. All reserved fields
in the Value field MUST be transmitted as zeros and ignored on in the Value field MUST be transmitted as zeros and ignored on
receipt. receipt.
16.2. Defined TLVs 16.2. Defined TLVs
The following TLV Types are defined: The following TLV Types are defined:
skipping to change at page 13, line 5 skipping to change at page 13, line 47
Code Type Code Type
=========================================================== ===========================================================
1 IPv4 Source-Active 1 IPv4 Source-Active
2 IPv4 Source-Active Request 2 IPv4 Source-Active Request
3 IPv4 Source-Active Response 3 IPv4 Source-Active Response
4 KeepAlive 4 KeepAlive
5 Notification 5 Notification
Each TLV is described below. Each TLV is described below.
In addition, the following TLV Types are assigned but not described
in this memo:
Code Type
===========================================================
6 MSDP traceroute in progress
7 MSDP traceroute reply
16.2.1. IPv4 Source-Active TLV 16.2.1. IPv4 Source-Active TLV
The maximum size SA message that can be sent is 1400 octets. If an The maximum size SA message that can be sent is 1400 octets. If an
MSDP peer needs to originate a message with information greater than MSDP peer needs to originate a message with information greater than
1400 octets, it sends successive 1400 octet or smaller messages. The 1400 octets, it sends successive 1400 octet or smaller messages. The
1400 octet size does not include the TCP, IP, layer-2 headers. 1400 octet size does not include the TCP, IP, layer-2 headers.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | x + y | Entry Count | | 1 | x + y | Entry Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RP Address | | RP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Sprefix Len | \ | Reserved | Sprefix Len | \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
| Group Address | ) z | Group Address | ) z
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
skipping to change at page 13, line 52 skipping to change at page 15, line 10
Entry Count Entry Count
Is the count of z entries (note above) which follow the RP Is the count of z entries (note above) which follow the RP
address field. This is so multiple (S,G)s from the same domain address field. This is so multiple (S,G)s from the same domain
can be encoded efficiently for the same RP address. can be encoded efficiently for the same RP address.
RP Address RP Address
The address of the RP in the domain the source has become The address of the RP in the domain the source has become
active in. active in.
Reserved Reserved
The Reserved field MUST be transmitted as zeros and ignored The Reserved field MUST be transmitted as zeros and MUST be
by a receiver. ignored by a receiver.
Sprefix Len Sprefix Len
The route prefix length associated with source address. The route prefix length associated with source address.
This field MUST be transmitted as 32 (/32). An Invalid This field MUST be transmitted as 32 (/32). An Invalid
Sprefix Len Notification SHOULD be sent upon receipt Sprefix Len Notification SHOULD be sent upon receipt
of any other value. of any other value.
Group Address Group Address
The group address the active source has sent data to. The group address the active source has sent data to.
skipping to change at page 14, line 29 skipping to change at page 15, line 36
for efficiency at the expense of data latency. This would typically for efficiency at the expense of data latency. This would typically
occur on intermediate forwarding of SA messages. occur on intermediate forwarding of SA messages.
16.2.2. IPv4 Source-Active Request TLV 16.2.2. IPv4 Source-Active Request TLV
The Source-Active Request is used to request SA-state from a MSDP The Source-Active Request is used to request SA-state from a MSDP
peer. If an RP in a domain receives a PIM Join message for a group, peer. If an RP in a domain receives a PIM Join message for a group,
creates (*,G) state and wants to know all active sources for group G, creates (*,G) state and wants to know all active sources for group G,
it may send an SA-Request message for the group. it may send an SA-Request message for the group.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 8 | Reserved | | 2 | 8 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address Prefix | | Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type Type
IPv4 Source-Active Request TLV is type 2. IPv4 Source-Active Request TLV is type 2.
Reserved Reserved
Must be transmitted as zero and ignored on receipt. Must be transmitted as zero and ignored on receipt.
Group Address Group Address
The group address the MSDP peer is requesting. The group address the MSDP peer is requesting.
16.2.3. IPv4 Source-Active Response TLV 16.2.3. IPv4 Source-Active Response TLV
The Source-Active Response is sent in response to a Source-Active The Source-Active Response is sent in response to a Source-Active
Request message. The Source-Active Response message has the same Request message. The Source-Active Response message has the same
format as a Source-Active message but does not allow encapsulation of format as a Source-Active message but does not allow encapsulation of
multicast data. multicast data.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 3 | x | .... | | 3 | x | .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type Type
IPv4 Source-Active Response TLV is type 3. IPv4 Source-Active Response TLV is type 3.
Length x Length x
Is the length of the control information in the message. x is 8 Is the length of the control information in the message. x is 8
skipping to change at page 15, line 36 skipping to change at page 16, line 37
A KeepAlive TLV is sent to an MSDP peer if and only if there were no A KeepAlive TLV is sent to an MSDP peer if and only if there were no
MSDP messages sent to the peer after a period of time. This message MSDP messages sent to the peer after a period of time. This message
is necessary for the active connect side of the MSDP connection. The is necessary for the active connect side of the MSDP connection. The
passive connect side of the connection knows that the connection will passive connect side of the connection knows that the connection will
be reestablished when a TCP SYN packet is sent from the active be reestablished when a TCP SYN packet is sent from the active
connect side. However, the active connect side will not know when the connect side. However, the active connect side will not know when the
passive connect side goes down. Therefore, the KeepAlive timeout will passive connect side goes down. Therefore, the KeepAlive timeout will
be used to reset the TCP connection. be used to reset the TCP connection.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 4 | 3 | | 4 | 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The length of the message is 3 octets which encompasses the one octet The length of the message is 3 octets which encompasses the one octet
Type field and the two octet Length field. Type field and the two octet Length field.
16.2.5. Notification TLV 16.2.5. Notification TLV
A Notification message is sent when an error condition is detected, A Notification message is sent when an error condition is detected,
and has the following form: and has the following form:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | x + 5 |O| Error Code | | 5 | x + 5 |O| Error Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error subcode | ... | | Error subcode | ... |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
| Data | | Data |
| ... | | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 16, line 41 skipping to change at page 17, line 47
1 Message Header Error Section 17.1 1 Message Header Error Section 17.1
2 SA-Request Error Section 17.2 2 SA-Request Error Section 17.2
3 SA-Message/SA-Response Error Section 17.3 3 SA-Message/SA-Response Error Section 17.3
4 Hold Timer Expired Section 17.4 4 Hold Timer Expired Section 17.4
5 Finite State Machine Error Section 17.5 5 Finite State Machine Error Section 17.5
6 Notification Section 17.6 6 Notification Section 17.6
7 Cease Section 17.7 7 Cease Section 17.7
Error subcode: Error subcode:
This one-octet unsigned integer provides more specific information This one-octet unsigned integer provides more specific information
about the reported error. Each Error Code may have one or more Error about the reported error. Each Error Code may have one or more
Error
Subcodes associated with it. If no appropriate Error Subcode is Subcodes associated with it. If no appropriate Error Subcode is
defined, then a zero (Unspecific) value is used for the Error Subcode defined, then a zero (Unspecific) value is used for the Error
Subcode
field, and the O-bit must be cleared (i.e. the connection will be field, and the O-bit must be cleared (i.e. the connection will be
closed). The used notation in the error description below is: MC = closed). The used notation in the error description below is: MC =
Must Close connection = O-bit clear; CC = Can Close connection = Must Close connection = O-bit clear; CC = Can Close connection =
O-bit might be cleared. O-bit MAY be cleared.
Message Header Error subcodes: Message Header Error subcodes:
0 - Unspecific (MC) 0 - Unspecific (MC)
2 - Bad Message Length (MC) 2 - Bad Message Length (MC)
3 - Bad Message Type (CC) 3 - Bad Message Type (CC)
SA-Request Error subcodes: SA-Request Error subcodes (the O-bit is always clear):
0 - Unspecific (MC) 0 - Unspecific (MC)
1 - Invalid Group (MC) 1 - Invalid Group (MC)
SA-Message/SA-Response Error subcodes SA-Message/SA-Response Error subcodes
0 - Unspecific (MC) 0 - Unspecific (MC)
1 - Invalid Entry Count (CC) 1 - Invalid Entry Count (CC)
2 - Invalid RP Address (MC) 2 - Invalid RP Address (MC)
3 - Invalid Group Address (MC) 3 - Invalid Group Address (MC)
4 - Invalid Source Address (MC) 4 - Invalid Source Address (MC)
5 - Invalid Sprefix Length (MC) 5 - Invalid Sprefix Length (MC)
6 - Looping SA (Self is RP) (MC) 6 - Looping SA (Self is RP) (MC)
7 - Unknown Encapsulation (MC) 7 - Unknown Encapsulation (MC)
8 - Administrative Scope Boundary Violated (MC) 8 - Administrative Scope Boundary Violated (MC)
Hold Timer Expired subcodes (the O-bit is always clear): Hold Timer Expired subcodes (the O-bit is always clear):
0 - Unspecific (MC) 0 - Unspecific (MC)
Finite State Machine Error subcodes: Finite State Machine Error subcodes (the O-bit is always clear):
0 - Unspecific (MC) 0 - Unspecific (MC)
1 - Unexpected Message Type FSM Error (MC) 1 - Unexpected Message Type FSM Error (MC)
Notification subcodes (the O-bit is always clear): Notification subcodes (the O-bit is always clear):
0 - Unspecific (MC) 0 - Unspecific (MC)
Cease subcodes (the O-bit is always clear): Cease subcodes (the O-bit is always clear):
0 - Unspecific (MC) 0 - Unspecific (MC)
17. MSDP Error Handling 17. MSDP Error Handling
This section describes actions to be taken when errors are detected This section describes actions to be taken when errors are detected
while processing MSDP messages. MSDP Error Handling is similar to while processing MSDP messages. MSDP Error Handling is similar to
that of BGP [RFC1771]. that of BGP [RFC1771].
When any of the conditions described here are detected, a When any of the conditions described here are detected, a
Notification message with the indicated Error Code, Error Subcode, Notification message with the indicated Error Code, Error Subcode,
and Data fields is sent. In addition, the MSDP connection might be and Data fields is sent. In addition, the MSDP connection MAY be
closed. If no Error Subcode is specified, then a zero (Unspecific) closed. If no Error Subcode is specified, then a zero (Unspecific)
must be used. must be used.
The phrase "the MSDP connection is closed" means that the transport The phrase "the MSDP connection is closed" means that the transport
protocol connection has been closed and that all resources for that protocol connection has been closed and that all resources for that
MSDP connection have been deallocated. MSDP connection have been deallocated.
17.1. Message Header Error Handling 17.1. Message Header Error Handling
All errors detected while processing the Message Header are indicated All errors detected while processing the Message Header are indicated
skipping to change at page 18, line 44 skipping to change at page 19, line 44
Error Subcode is set to Bad Message Type. Error Subcode is set to Bad Message Type.
17.2. SA-Request Error Handling 17.2. SA-Request Error Handling
The SA-Request Error code is used to signal the receipt of a SA The SA-Request Error code is used to signal the receipt of a SA
request at a MSDP peer when an invalid group address requested. request at a MSDP peer when an invalid group address requested.
When a MSDP peer receives a request for an invalid group, it returns When a MSDP peer receives a request for an invalid group, it returns
the following notification: the following notification:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 16 |O| 2 | | 5 | 12 |O| 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | Reserved | Gprefix Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Gprefix | | 2 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Invalid Group Address | | Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3. SA-Message/SA-Response Error Handling 17.3. SA-Message/SA-Response Error Handling
The SA-Message/SA-Response Error code is used to signal the receipt The SA-Message/SA-Response Error code is used to signal the receipt
of a erroneous SA Message at an MSDP peer, or the receipt of an SA- of a erroneous SA Message at an MSDP peer, or the receipt of an SA-
Response Message by a peer that did not issue a SA-Request. It has Response Message by a peer that did not issue a SA-Request. It has
the following form: the following form:
17.3.1. Invalid Entry Count (IEC) 17.3.1. Invalid Entry Count (IEC)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 6 |O| 3 | | 5 | 6 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | IEC | | 1 | Entry Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3.2. Invalid RP Address 17.3.2. Invalid RP Address
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 12 |O| 3 | | 5 | 12 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | Reserved | | 2 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Invalid RP Address | | RP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3.3. Invalid Group Address 17.3.3. Invalid Group Address
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 12 |O| 3 | | 5 | 12 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 3 | Reserved | | 3 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Invalid Group Address | | Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3.4. Invalid Source Address 17.3.4. Invalid Source Address
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 12 |O| 3 | | 5 | 12 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 4 | Reserved | | 4 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Invalid Source Address | | Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3.5. Invalid Sprefix Length (ISL) 17.3.5. Invalid Sprefix Length (ISL)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 6 |O| 3 | | 5 | 6 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | ISL | | 5 | Sprefix Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.3.6. Looping SAs (Self is RP in received SA) 17.3.6. Looping SAs (Self is RP in received SA)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | x + 5 |O| 3 | | 5 | x + 5 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 6 | Looping SA Message .... | 6 | SA Message ....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length x Length x
x is the length of the looping SA message contained in the data x is the length of the looping SA message contained in the data
field of the Notification message. field of the Notification message.
17.3.7. Unknown Encapsulation 17.3.7. Unknown Encapsulation
This notification is sent on receipt of SA data that is encapsulated This notification is sent on receipt of SA data that is encapsulated
in an unknown encapsulation type. See section 18 for known in an unknown encapsulation type. See section 18 for known
encapsulations. encapsulations.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | x + 5 |O| 3 | | 5 | x + 5 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 7 | SA Message .... | 7 | SA Message ....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length x Length x
x is the length of the SA message (which contained data which x is the length of the SA message (which contained data which
was encapsulated in some unknown way) that is contained in the was encapsulated in some unknown way) that is contained in the
data field of the Notification message. data field of the Notification message.
17.3.8. Administrative Scope Boundary Violated 17.3.8. Administrative Scope Boundary Violated
This notification is used when an SA message is received for a group This notification is used when an SA message is received for a group
G from a peer which is across an administrative scope boundary for G. G from a peer which is across an administrative scope boundary for G.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 5 | 16 |O| 3 | | 5 | 12 |O| 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | Reserved | Gprefix Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Gprefix | | 8 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address | | Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17.4. Hold Time Expired 17.4. Hold Time Expired
If a system does not receive successive KeepAlive or any SA Message If a system has not received any MSDP message within the period
and/or Notification messages within the period specified in the Hold specified in the Hold Timer, the notification message with Hold Timer
Timer, the notification message with Hold Timer Expired Error Code Expired Error Code and no additional data MUST be sent and the MSDP
and no additional data MUST be sent and the MSDP connection closed. connection closed.
17.5. Finite State Machine Error Handling 17.5. Finite State Machine Error Handling
Any error detected by the MSDP Finite State Machine (e.g., receipt of Any error detected by the MSDP Finite State Machine (e.g., receipt of
an unexpected event) is indicated by sending the Notification message an unexpected event) is indicated by sending the Notification message
with Error Code Finite State Machine Error. with Error Code Finite State Machine Error.
17.6. Notification Message Error Handling 17.6. Notification Message Error Handling
If a node sends a Notification message, and there is an error in that If a node sends a Notification message, and there is an error in that
skipping to change at page 22, line 19 skipping to change at page 23, line 27
17.7. Cease 17.7. Cease
In absence of any fatal errors (that are indicated in this section), In absence of any fatal errors (that are indicated in this section),
an MSDP node may choose at any given time to close its MSDP an MSDP node may choose at any given time to close its MSDP
connection by sending the Notification message with Error Code Cease. connection by sending the Notification message with Error Code Cease.
However, the Cease Notification message MUST NOT be used when a fatal However, the Cease Notification message MUST NOT be used when a fatal
error indicated by this section does exist. error indicated by this section does exist.
18. SA Data Encapsulation 18. SA Data Encapsulation
This section describes UDP, GRE, and TCP encapsulation of SA data. This section describes UDP, GRE, and TCP encapsulation of data
Encapsulation type is a configuration option. packets to be included with SA messages. Encapsulation type is a
configuration option.
18.1. UDP Data Encapsulation 18.1. UDP Data Encapsulation
Data packets MAY be encapsulated in UDP. In this case, the UDP Data packets MAY be encapsulated in UDP. In this case, the UDP
pseudo-header has the following form: pseudo-header has the following form:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port | | Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Checksum | | Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Origin RP Address | | Origin RP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Source port, Destination Port, Length, and Checksum are used The Source port, Destination Port, Length, and Checksum are used
skipping to change at page 23, line 31 skipping to change at page 24, line 32
Originating RP Address Originating RP Address
The Originating RP Address is the address of the RP sending The Originating RP Address is the address of the RP sending
the encapsulated data. the encapsulated data.
18.2. GRE Encapsulation 18.2. GRE Encapsulation
MSDP SA-data MAY be encapsulated in GRE using protocol type [MSDP- MSDP SA-data MAY be encapsulated in GRE using protocol type [MSDP-
GRE-ProtocolType]. The GRE header and payload packet have the GRE-ProtocolType]. The GRE header and payload packet have the
following form: following form:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|C| Reserved0 | Ver | [MSDP-GRE-ProtocolType] |\ |C| Reserved0 | Ver | [MSDP-GRE-ProtocolType] |\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ GRE Header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ GRE Header
| Checksum (optional) | Reserved1 |/ | Checksum (optional) | Reserved1 |/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Originating RP IPv4 Address |\ | Originating RP IPv4 Address |\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload
| (S,G) Data Packet .... / | (S,G) Data Packet .... /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 24, line 23 skipping to change at page 25, line 30
feedback, it retransmits with the same PMTU, causing subsequently feedback, it retransmits with the same PMTU, causing subsequently
transmitted packets to be dropped. transmitted packets to be dropped.
18.3. TCP Data Encapsulation 18.3. TCP Data Encapsulation
As discussed earlier, encapsulation of data in SA messages MAY be As discussed earlier, encapsulation of data in SA messages MAY be
supported for backwards compatibility with legacy MSDP peers. supported for backwards compatibility with legacy MSDP peers.
19. IANA Considerations 19. IANA Considerations
The IANA should assigne 0x0009 from the IANA SNAP Protocol IDs [IANA] The IANA should assign 0x0009 from the IANA SNAP Protocol IDs [IANA]
to MSDP-GRE-ProtocolType. to MSDP-GRE-ProtocolType.
20. Security Considerations 20. Security Considerations
An MSDP implementation MAY use IPsec [RFC1825] or keyed MD5 [RFC1828] An MSDP implementation MAY use IPsec [RFC2401] or keyed MD5 [RFC1828]
to secure control messages. When encapsulating SA data in GRE, to secure control messages. When encapsulating data packets in GRE,
security should be relatively similar to security in a normal IPv4 security should be relatively similar to security in a normal IPv4
network, as routing using GRE follows the same routing that IPv4 uses network, as routing using GRE follows the same routing that IPv4 uses
natively. Route filtering will remain unchanged. However packet natively. Route filtering will remain unchanged. However packet
filtering at a firewall requires either that a firewall look inside filtering at a firewall requires either that a firewall look inside
the GRE packet or that the filtering is done on the GRE tunnel the GRE packet or that the filtering is done on the GRE tunnel
endpoints. In those environments in which this is considered to be a endpoints. In those environments in which this is considered to be a
security issue it may be desirable to terminate the tunnel at the security issue it may be desirable to terminate the tunnel at the
firewall. firewall.
21. Acknowledgments 21. Acknowledgments
The editor would like to thank the original authors, Dino Farinacci, The editor would like to thank the original authors, Dino Farinacci,
Yakov Rehkter, Peter Lothberg, Hank Kilmer, and Jermey Hall for their Yakov Rehkter, Peter Lothberg, Hank Kilmer, and Jermey Hall for their
orginal contribution to the MSDP specification. In addition, Bill orginal contribution to the MSDP specification. In addition, Bill
Nickless, John Meylor, Liming Wei, Manoj Leelanivas, Mark Turner, Fenner, Bill Nickless, John Meylor, Liming Wei, Manoj Leelanivas,
John Zwiebel, Cristina Radulescu-Banu and IJsbrand Wijnands provided Mark Turner, John Zwiebel, Cristina Radulescu-Banu, Brian Edwards and
useful and productive design feedback and comments. In addition to IJsbrand Wijnands provided useful and productive design feedback and
many other contributions, Tom Pusateri helped to clarify the comments. In addition to many other contributions, Tom Pusateri
connection state machine, Dave Thaler helped to clarify the helped to clarify the connection state machine, Dave Thaler helped to
Notification message types, and countless others helped to clarify clarify the Notification message types. Ravi Shekhar helped clarify
the semantics of mesh-groups, and countless others helped to clarify
the Peer-RPF rules. the Peer-RPF rules.
22. Editor's Address: 22. Editors' Address:
David Meyer David Meyer
Cisco Systems, Inc. Cisco Systems, Inc.
170 Tasman Drive 170 Tasman Drive
San Jose, CA, 95134 San Jose, CA, 95134
Email: dmm@cisco.com Email: dmm@cisco.com
Bill Fenner
AT&T Labs -- Research
75 Willow Road
Menlo Park, CA 94025
Email: fenner@research.att.com
23. REFERENCES 23. REFERENCES
[IANA] www.iana.org [IANA] www.iana.org
[RFC1700] J. Reynolds and J. Postel, "Assigned Numbers", RFC 1700,
October, 1994.
[RFC2784] Farinacci, D., et al., "Generic Routing Encapsulation [RFC2784] Farinacci, D., et al., "Generic Routing Encapsulation
(GRE)", RFC 2784, March 2000. (GRE)", RFC 2784, March 2000.
[RFC768] Postel, J. "User Datagram Protocol", RFC 768, August, [RFC768] Postel, J. "User Datagram Protocol", RFC 768, August,
1980. 1980.
[RFC1191] Mogul, J., and S. Deering, "Path MTU Discovery", [RFC1191] Mogul, J., and S. Deering, "Path MTU Discovery",
RFC 1191, November 1990. RFC 1191, November 1990.
[RFC1771] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 [RFC1771] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4
(BGP-4)", RFC 1771, March 1995. (BGP-4)", RFC 1771, March 1995.
[RFC1825] Atkinson, R., "Security Architecture for the Internet [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for
Protocol", RFC 1825, August, 1995. the Internet Protocol", RFC 2401, November 1998.
[RFC1828] P. Metzger and W. Simpson, "IP Authentication using [RFC1828] P. Metzger and W. Simpson, "IP Authentication using
Keyed MD5", RFC 1828, August, 1995. Keyed MD5", RFC 1828, August, 1995.
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March, 1997. Requirement Levels", RFC 2119, March, 1997.
[RFC2283] Bates, T., Chandra, R., Katz, D., and Y. Rekhter., [RFC2283] Bates, T., Chandra, R., Katz, D., and Y. Rekhter.,
"Multiprotocol Extensions for BGP-4", RFC 2283, "Multiprotocol Extensions for BGP-4", RFC 2283,
February 1998. February 1998.
 End of changes. 90 change blocks. 
169 lines changed or deleted 248 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/