PIM WG A. Boers
Internet-Draft IJ. Wijnands
Expires: April 4, 2006 E. Rosen
Cisco Systems, Inc.
october 2005
Format for using TLVs in PIM messages
draft-ietf-pim-join-attributes-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 4, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document describes a generic TLV attribute encoding format to be
added to PIM.
Boers, et al. Expires April 4, 2006 [Page 1]
Internet-Draft The PIM TLV join attribute format october 2005
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Use of the Attribute Field in Join Messages . . . . . . . . . . 3
2.1. Attribute join . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Transitive attributes . . . . . . . . . . . . . . . . . . . 3
2.3. Attribute Hello Option . . . . . . . . . . . . . . . . . . 3
2.4. Conflicting Attributes . . . . . . . . . . . . . . . . . . 4
2.5. Attribute Convergence . . . . . . . . . . . . . . . . . . . 4
2.6. Multiple Attributes . . . . . . . . . . . . . . . . . . . . 4
3. PIM Attribute packet format . . . . . . . . . . . . . . . . . . 5
3.1. PIM Join packet format . . . . . . . . . . . . . . . . . . 5
3.2. PIM Attribute Hello option . . . . . . . . . . . . . . . . 6
4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Normative References . . . . . . . . . . . . . . . . . . . 6
5.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 8
Boers, et al. Expires April 4, 2006 [Page 2]
Internet-Draft The PIM TLV join attribute format october 2005
1. Introduction
It is sometimes convenient to add additional information to PIM join
messages. The generic PIM encoding format is not always optimal to
do this. This document defines a new field in the PIM Join message
that allows it to use TLVs, hereby called the attribute field. The
content and purpose of this attribute field is outside the scope of
this document, only the generic encoding format is described here.
2. Use of the Attribute Field in Join Messages
2.1. Attribute join
Attribute fields are defined similar to the PIM source encoding type
as defined in [I-D.ietf-pim-sm-v2-new]. A source address without any
additional TLV's should be processed identically to a source address
in the default source encoding.
Multiple TLV's from the same or different type are permitted in a
single source address in any order.
2.2. Transitive attributes
It may be desired to have routers that understand the generic
attribute format, forward the attributes regardless if they
understand the TLV's encoded in the attribute not. For this the
first bit in the Type field is reserved. If this bit is set then the
TLV is forwarded upstream in case the router does not understand that
type.
2.3. Attribute Hello Option
A new PIM source type has been defined to include the Attribute
field. This source type is included in a normal PIM Join. Each
router on a connected network needs to be able to understand and
parse the Join message. Therefore we include a new PIM hello option
to advertise our capability to parse and process the new source type.
We can only send a PIM Join which includes an attribute if ALL
routers on the network support the new option. (Even a router which
is not the upstream neighbor must be able parse the packet in order
to do Join suppression or overriding.) Option value TBD.
Having the attribute hello option does not guarantee that all
neighbors understand all possible individual attributes. As there's
no immediate way to act on a neighbor's incapability to process
certain attribute types, it is not desired to have a hello option for
each possible attribute type.
Boers, et al. Expires April 4, 2006 [Page 3]
Internet-Draft The PIM TLV join attribute format october 2005
2.4. Conflicting Attributes
It's possible that a router receives conflicting attribute
information from different downstream routers. See Figure 2.
( Edge A1 ) ( Edge B1 )---- [R1]
/ \ /
/ \ /
[S] ( Core )
\ / \
\ / \
( Edge A2 ) ( Edge B2 )---- [R2]
Figure 2
There are 2 receivers for the same group connected to Edge B1 and B2.
Suppose that edge router B1 prefers A1 as the exit point and B2
prefers A2 as exit point to reach the source S. If both Edge B1 and
B2 send a Join including an attribute to prefer their exit router in
the network and they cross the same core router, the core router will
get conflicting attribute information for the source. If this
happens we use the Attribute from the PIM adjacency with the
numerically smallest IP address. The Attributes from other sending
routers may be kept around in case the best Attribute gets pruned or
expires, we are able to immediately use the second best Attribute and
converge quickly without waiting for the next periodic update. If a
TLV has its own definition for conflict resolution it is preferred
over the conflict resolution above.
2.5. Attribute Convergence
An Attribute is included in a PIM Join message together with the
source information. If the Attribute for this source is changed, we
trigger a new PIM Join message to the upstream router. This causes
the new Attribute to be propagated. This new Attribute implicitly
removes the old Attribute upstream. If processing the new Attribute
results in a change in the distribution tree, a PIM Prune message may
be sent. This PIM Prune does not need to carry any Attribute, the
sender of the prune and the source and group information is enough to
identify the entry. The attribute information is removed immediately
and possibly a new attribute is chosen from the database if
available.
2.6. Multiple Attributes
A PIM Join can contain multiple Attributes. The Attributes are
encoded as TLVs associated with a new PIM source type in the PIM
Boers, et al. Expires April 4, 2006 [Page 4]
Internet-Draft The PIM TLV join attribute format october 2005
message. When a PIM Join with multiple Attributes is received, the
first Attribute is processed, and the action taken depends upon the
Attribute type. This may or may not result in the processing of the
next Attribute. Attributes not processed are passed upstream
unchanged.
3. PIM Attribute packet format
3.1. PIM Join packet format
There is no space in the default PIM source encoding to include a
Attribute field. Therefore we introduce a new source encoding type.
The attributes are formatted as TLV's. The new Encoded source
address looks like this:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Addr Family | Encoding Type | Rsrvd |S|W|R| Mask Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|S| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.....
|F|S| Type | Length | Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.....
. . .
. . .
F bit, Forward Unknown TLV. If this bit is set the TLV is forwarded
regardless if the router understands the Type.
S bit, Bottom of Stack. If this bit is set then this is the last TLV
in the stack.
Type field of the TLV is 6 bits.
Length field of the TLV is 1 byte.
The other fields are the same as described in the PIM spec.
[I-D.ietf-pim-sm-v2-new].
The source TLV encoding type: TBD.
Boers, et al. Expires April 4, 2006 [Page 5]
Internet-Draft The PIM TLV join attribute format october 2005
3.2. PIM Attribute Hello option
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OptionType = XX | OptionLength = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option type: TBD.
4. Acknowledgments
The authors would like to thank James Lingard for his comments on
this topic.
5. References
5.1. Normative References
[I-D.ietf-pim-sm-v2-new]
Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode PIM-SM):
Protocol Specification (Revised)",
draft-ietf-pim-sm-v2-new-11 (work in progress),
October 2004.
5.2. Informative References
Boers, et al. Expires April 4, 2006 [Page 6]
Internet-Draft The PIM TLV join attribute format october 2005
Authors' Addresses
Arjen Boers
Cisco Systems, Inc.
Avda. Diagonal, 682
Barcelona 08034
Spain
Email: aboers@cisco.com
IJsbrand Wijnands
Cisco Systems, Inc.
De kleetlaan 6a
Diegem 1831
Belgium
Email: ice@cisco.com
Eric Rosen
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough, Ma 01719
Email: erosen@cisco.com
Boers, et al. Expires April 4, 2006 [Page 7]
Internet-Draft The PIM TLV join attribute format october 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Boers, et al. Expires April 4, 2006 [Page 8]