Internet-Draft PIM PFM-SD Sub-TLV March 2024
Venaas & Meo Expires 5 September 2024 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-venaas-pim-pfm-sd-subtlv-01
Published:
Intended Status:
Experimental
Expires:
Authors:
S. Venaas
Cisco Systems, Inc.
F. Meo

PIM Flooding Mechanism and Source Discovery Sub-TLV

Abstract

PIM Flooding Mechanism and Source Discovery (RFC 8364) allows for announcement of active sources, but it does not allow for providing additional information about the flow. This document defines a new TLV for announcing sources that allows for Sub-TLVs that can be used for providing various types of information. This document defines a Sub-TLV for flow data rate.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

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."

This Internet-Draft will expire on 5 September 2024.

Table of Contents

1. Introduction

It may be useful to provide additional information about flows in PFM [RFC8364] source announcements. One such case is flow data rate. Routers may use this information in various ways, for instance to decide whether there is sufficient available bandwidth to join the tree or in case of ECMP, selecting an interface that has sufficient available bandwidth.

This document defines a new TLV for announcing sources that allows for Sub-TLVs that can be used providing various types of information. It also defines a Sub-TLV for flow data rate.

2. Conventions Used in This Document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

3. Group Source Holdtime Info TLV

PFM-SD [RFC8364] defines a Group Source Holdtime (GSH) TLV for announcing active sources. This document defins a new Group Source Holdtime Info (GSHI) TLV that is used similarly to the GSH TLV except that it only provides info for a single source, and includes additional information about the flow in Sub-TLVs.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |T|         Type = TBD            |          Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Group Address (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Src Address 1 (Encoded-Unicast format)            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Src Holdtime           |        Type Sub-TLV 1         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Length Sub-TLV 1        |       Value Sub-TLV 1         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   |        Type Sub-TLV n         |       Length Sub-TLV n        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Value Sub-TLV n
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
T:
If the Transitive bit is set to 0, a router MUST NOT forward the message unless it supports this TLV and all the Sub-TLVs that are present in the TLV in this message. If the transitive bit is set to 1, it is forwarded even if the router does not support the TLV or all the Sub-TLVs present.
Type:
This TLV has type TBD.
Length:
The length of the value in octets.
Group Address:
The group that sources are to be announced for. The format for this address is given in the Encoded-Group format in [RFC7761].
Src Address:
The source address for the corresponding group. The format for these addresses is given in the Encoded-Unicast address in [RFC7761].
Src Holdtime:
The Holdtime (in seconds) for the included source(s).
Type Sub-TLV 1..n:
The TLV contains n Sub-TLVs, n MAY be 0. The total length of the TLV (the Length field) is used to derive the how many octets are used for Sub-TLVs. It will be at least 4 * n octets if n Sub-TLVs are present. Type Sub-TLV indicates the type of the Sub-TLV. The allowed types are Sub-TLV types that are specifically defined for use in the Group Source Holdtime Info TLV. This document defines one such Sub-TLV type.
Length Sub-TLV 1..n:
The length of the Sub-TLV Value field in octets.
Value Sub-TLV 1..n:
The value of the Sub-TLV associated with the type and of the specified length.

4. Group Source Holdtime Info Flow data rate Sub-TLV

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Type = TBD            |          Length = 2           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Exponent  |    Significand    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type:
This TLV has type TBD.
Length:
The length of the value in octets. The length is always 2.
Exponent and Significand:
The value of the TLV contains Exponent and Significand, each is 1 octet. These are used to indicate the flow data rate as specified below.

The data rate of a flow is specified using the Exponent and Significand fields. The rate is Significand * 10 ^ Exponent kbps. This allows specifying the rate with up to 3 decimal digits precision and speeds from 1 kbps to 10 ^ 67 kbps. A computed speed of 0 kbps means the rate is less than 1 kbps.

Here are some examples of how this is used:

            Link Speed     Exponent     Significand
           ------------   ----------   -------------
            500 kbps       0            500
            500 kbps       2              5
            155 Mbps       3            155
             40 Gpbs       6             40
            100 Gpbs       6            100
            100 Gpbs       8              1

5. Security Considerations

When it comes to general PIM message security, see [RFC7761]. For PFM security see [RFC8364].

This document defines a new format allowing for additional flow information. One concern is what happens if wrong information is provided by accident, or intentionally in a sppofed message by an attacker. The impact depends on what information is provided.

This document defines a Sub-TLV for flow data rate. If the rate provided is not correct, a router may make decisions using the wrong rate. If the rate indicated is too high, a router may for instance decide not to join assuming there is not sufficient bandwidth available. If it is too low, the router may join even if there is not sufficient bandwidth, causing packet drops.

6. IANA Considerations

This document requires the assignment of a new PFM TLV type in the "PIM Flooding Mechanism Message Types" registry. Also, a new registry "PFM Group Source Holdtime Info Sub-Types" registry needs to be created. Assignments for the new registry are to be made according to the policy "IETF Review" as defined in [RFC8126]. The initial content of the registry should be:

 Sub-Type         Name                  Reference
------------------------------------------------------
     0        Reserved               [this document]
     1        Flow data rate         [this document]
  2-32767     Unassigned

7. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC7761]
Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, , <https://www.rfc-editor.org/info/rfc7761>.
[RFC8126]
Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, , <https://www.rfc-editor.org/info/rfc8126>.
[RFC8364]
Wijnands, IJ., Venaas, S., Brig, M., and A. Jonasson, "PIM Flooding Mechanism (PFM) and Source Discovery (SD)", RFC 8364, DOI 10.17487/RFC8364, , <https://www.rfc-editor.org/info/rfc8364>.

Authors' Addresses

Stig Venaas
Cisco Systems, Inc.
Tasman Drive
San Jose, CA 95134
United States of America
Francesco Meo