Conversation
|
FWIW, I swear I had opened a similar PR/ticket back in 2018....ish, but I can't find it now. edit: found it |
There was a problem hiding this comment.
Code Review
This pull request introduces support for multicast forwarding tables (AFT) within the OpenConfig model, specifically adding submodules for IPv4, IPv6, and MPLS P2MP multicast forwarding. It defines new groupings for multicast outgoing interface states and structural lists, which are integrated into the main AFT module. Review feedback recommends utilizing existing common groupings in the new IPv4 and IPv6 submodules to ensure consistency and minimize code duplication.
| leaf origin-protocol { | ||
| type identityref { | ||
| base "oc-pol-types:INSTALL_PROTOCOL_TYPE"; | ||
| } | ||
| description | ||
| "The protocol from which the multicast forwarding entry was | ||
| learned, for example PIM, BGP (MVPN), or STATIC."; | ||
| } | ||
|
|
||
| leaf entry-metadata { | ||
| type binary { | ||
| length "0..8"; | ||
| } | ||
| description | ||
| "Metadata persistently stored with the entry."; | ||
| } | ||
|
|
||
| leaf decapsulate-header { | ||
| type oc-aftt:encapsulation-header-type; | ||
| description | ||
| "When set, the local system removes the specified encapsulation | ||
| header before performing the multicast forwarding lookup. This | ||
| leaf is used at MPLS P2MP egress PE nodes where incoming MPLS | ||
| labels are popped before the (S,G) table is consulted."; | ||
| } |
There was a problem hiding this comment.
To maintain consistency across the AFT model and reduce code duplication, please reuse the common groupings defined in openconfig-aft-common.yang. Specifically, aft-common-ip-state provides the origin-protocol and decapsulate-header leaves, while aft-common-entry-state provides the entry-metadata leaf.
uses aft-common-entry-state;
uses aft-common-ip-state;
| leaf origin-protocol { | ||
| type identityref { | ||
| base "oc-pol-types:INSTALL_PROTOCOL_TYPE"; | ||
| } | ||
| description | ||
| "The protocol from which the multicast forwarding entry was | ||
| learned, for example PIM, BGP (MVPN), or STATIC."; | ||
| } | ||
|
|
||
| leaf entry-metadata { | ||
| type binary { | ||
| length "0..8"; | ||
| } | ||
| description | ||
| "Metadata persistently stored with the entry."; | ||
| } | ||
|
|
||
| leaf decapsulate-header { | ||
| type oc-aftt:encapsulation-header-type; | ||
| description | ||
| "When set, the local system removes the specified encapsulation | ||
| header before performing the multicast forwarding lookup. This | ||
| leaf is used at MPLS P2MP egress PE nodes where incoming MPLS | ||
| labels are popped before the (S,G) table is consulted."; | ||
| } |
There was a problem hiding this comment.
To maintain consistency across the AFT model and reduce code duplication, please reuse the common groupings defined in openconfig-aft-common.yang. Specifically, aft-common-ip-state provides the origin-protocol and decapsulate-header leaves, while aft-common-entry-state provides the entry-metadata leaf.
uses aft-common-entry-state;
uses aft-common-ip-state;
| leaf entry-metadata { | ||
| type binary { | ||
| length "0..8"; | ||
| } | ||
| description | ||
| "Metadata persistently stored with the entry."; | ||
| } | ||
|
|
||
| leaf decapsulate-header { | ||
| type oc-aftt:encapsulation-header-type; | ||
| description | ||
| "When set, the local system removes the specified encapsulation | ||
| header before performing the multicast forwarding lookup. This | ||
| leaf is used at MPLS P2MP egress PE nodes where incoming MPLS | ||
| labels are popped before the (S,G) table is consulted."; | ||
| } |
There was a problem hiding this comment.
All the forwarding information should be in the NH AFT entry like all the other places. multicast route should be pointing to NHG AFT like IPv4/IPv6 unicast routes.
As an operator, I need a standard way to monitor the current forwarding behavior of multicast on my network, across multiple vendor types.
Most(?) platforms forward multicast under a input interface / OIL model, keyed by various FECs. This change attempts to provide an initial implementation for IPv4, IPv6, and MPLS forwarding of multicast traffic.
Change Scope
Platform Implementations
Tree View