200 likes | 355 Views
BGPv4 SAFI-Specific Attribute draft-kapoor-nalawade-idr-bgp-ssa-00.txt. Ruchi Kapoor ruchi@cisco.com Gargi Nalawade gargi@cisco.com Chandrashekhar Appanna achandra@cisco.com. Problem description. Tunnel configuration O(N^2)
E N D
BGPv4 SAFI-Specific Attributedraft-kapoor-nalawade-idr-bgp-ssa-00.txt Ruchi Kapoor ruchi@cisco.com Gargi Nalawade gargi@cisco.com Chandrashekhar Appanna achandra@cisco.com
Problem description • Tunnel configuration O(N^2) • Need a dynamic mechanism of exchanging Tunnel endpoint information, inter and intra-AS • For a BGP-learnt route, Tunnel endpoint has one-to-one correspondence with the BGP next hop • Traffic to that destination can be Tunnel-switched or IP-switched
The Solution • A New SAFI to advertise the Tunnel endpoint information • A New attribute to encode TLVs of Tunnel Encapsulation Capabilities
BGPv4 SAFI-Specific Attributedraft-kapoor-nalawade-idr-bgp-ssa-00.txt Ruchi Kapoor ruchi@cisco.com Gargi Nalawade gargi@cisco.com Chandrashekhar Appanna achandra@cisco.com
The SAFI-Specific Attribute (SSA) • Today the Tunnel application needs a BGP Attribute that can encode a set of TLVs and sub-TLVs inside it • The need for a simple and flexible encoding for carrying a TLV-set exists • The SAFI-Specific Attribute gives the ability to encode such TLV-sets on an as-needed basis.
The SSA Encoding 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|1|0|?|UNUSED | Type = TBD | Length (2 Octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Attribute Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The SSA Value field • The Value field contains a set of one or more TLVs of the following form : 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ • The Value will contain a set of Fixed fields • May contain optional Sub-TLVs after the fixed Value
The TLV Type-codes • A SAFI that wants to use this attribute will have to specify the Type-codes it recognizes • The Type of the TLV will be a global space irrespective of what SAFI or application defines it
Operational details • The attribute defined as Optional Transitive • No Capability defined for this attribute • For new SAFIs that want to use this, presence of the SAFI indicates understanding of the attribute • Forward compatibility • Experimental Typecode space • Open for suggestion on a better name
The Tunnel SAFIdraft-nalawade-kapoor-tunnel-safi-00.txt Gargi Nalawade gargi@cisco.com Ruchi Kapoor ruchi@cisco.com Dan Tappan tappan@cisco.com
The Tunnel SAFI • The Tunnel endpoint address will be the NLRI in this SAFI • The Tunnel Encapsulation Capabilities will be carried in the BGPv4 SAFI-Specific Attribute in the form of a set of one or more TLVs
The Tunnel SAFI NLRI • The NLRI for the IPv4 Tunnel SAFI will be a 2-octet Reserved field followed by the IPv4 address of the Tunnel endpoint • The Reserved field to contain a 2-octet Identifier that identifies • a Tunnel and • a set of Prefixes that want to use the Tunnel
The Tunnel SAFI NLRI (contd.) • The NLRI containing the Tunnel endpoint address, expected to do the binding between a set of BGP routes in other SAFIs and the Tunnel Encapsulation information carried by this SAFI • The 2-octet Identifier could be carried as • Part of the Nexthop using MP Nexthop • Part of the SNPA in the Nexthop • Part of a community
TLV Type-code definitions • This SAFI defines the following Typecodes for the Tunnel Encapsulation Capabilities • Type 1 : L2TPv3 Tunnel information • Type 2 : mGRE Tunnel information • Type 3 : IPSec Tunnel information • Type 4 : MPLS Tunnel information
L2TPv3 Tunnel TLV • The L2TPv3 Tunnel TLV looks as follows 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0x01 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Preference (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S| Flags | Cookie Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Session ID (4 Octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Cookie (Variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L2TPv3 Tunnel TLV (contd.) • The fixed fields defined in the TLV can be followed by one or more sub-TLVs of the form 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value (Variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
mGRE Tunnel TLV • The mGRE Tunnel TLV looks as follows 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0x02 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Preference (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|K| Flags | | +-+-+-+-+-+-+-+-+ | | mGRE Key (4 Octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
mGRE Tunnel TLV (contd) • The Fixed fields in the mGRE Tunnel TLV may also be followed by a set of one or more sub-TLVs
Capability • A BGP Speaker must advertise the MP_EXT Capability with this AFI-SAFI pair, in order to speak this SAFI • Use of this SAFI implies understanding of the SSA Attribute and at least one Tunnel Encapsulation TLV as specified by this SAFI
Conclusion • A New SAFI to provide • isolation of Tunnel information from other existing SAFIs • optimum amount of information advertised • The NLRI encoding help conserves address-space when using multiple Tunnels • A New Attribute • That can carry a set of TLVs • Flexible and adaptive to future extensions