FIB MPLS extension

不想整天在工作中迷失,天天想一想
打印 被阅读次数

The optimization for BGP-VPN routes is based on the idea to move the label infomation from MPLS LDIs to the separate structure of LSP array. Once the MPLS-LDIs are label-free, they could be shared, the same way as recursive IP-LDI.

To improve the IGP/LDP convergence mainly by the shareing IGP/LDP pathlists and their LDIs. Before these structures are not shared because of need to support the in-place modification for IGP/LDP LDIs. To achieve both sharing and in-place modifications, will introduce the LW-LDI, which is a simple data structure containing the pointer to the actual LDP/IGP LDI, and the hardware LDI. With LW-LDI the forwarding chain will looks like
Leaf --> LW-LDI --> Shared-PL-LDI --> NextHop
Here LW-LDI is populated per leaf, therefore it supports in-place modification; At the same time, the heavy structures such as pathlist and LDIs are shared.

GPL - generic path-list. currently GPL supports only IP dependencies and IP LDI, it will be extended to support MPLS dependencies and MPLS LDI

LW-LDI - structure that pointing to the actual software and platform LDI. LW-LDI is used to support Pathlist sharing for IGP, when the HW LDIs are not shared

LSP (label switching path) - output data structure corresponding to RIB/LSD labeled path (output label)

LSPA - array of LSPs for one RIB/LSD route

MPLS-PL (MPLS pathlist) - data structure containing label and the forwarding information for one route, included LSPA, LDI, and dependent leafs. In 3.5, MPLS-PL will be converted to LSPA

Pathlist - data structure containing the forwarding info for IP routes.

Sharing MPLS forwarding data-structure
==============================
1) Sharing MPLS LDI by moving labels out of MPLS-LDI into LSP-Array
2) Sharing disposition LSP-Arrays where all paths are either Unlabeled or IMPL-NULL. This is relevant for the disposition on the egress-PE
3) Sharing MPLS-LDI of the different type (IMP, EOS0, EOS1)

Criteria for sharing GPL sharing
    in SW, share all GPL and their respective LDIs
    in HW, will share
        recursive IP-GPLs
        recursive MPLS-GPLs in the context of VRF tables
        recursive MPLS-GPLs for the label cross-connects (inter-AS)

Data Path Type
    Path_type_IP            - should point to an IP next-hop of IP leaf
    Path_type_labeled     - should point to MPLS next-hop or EOS 0 or EOS 1 leaf
    Path_type_unlabeled - the path is also an IP path for resolution purpose. However we differentiate between unlabeled an pure IP because unlabeled paths may exist in unlabeled path-list. Unlabeled path-list may be used by MPLS leaves and some platform populate MPLS and IP load-infos in different HW structures
    Path_type_IMP_NULL - depends on the matching leaf, the path may be used to send out pure IP packets or MPLS packets. This path depends on both IP and MPLS next-hops
    Path_type_tunnel          - biscuit path



登录后才可评论.