YANG Data Models for TE and RSVP drafu-ietg-teas-yang-te-08 drafu-ietg-teas-yang-rsvp-07 drafu-ietg-teas-yang-rsvp-te-01 code @ htups://github.com/ietg-mpls-yang/te Tarek Saad (Presenter) and Rakesh Gandhi, Cisco Systems Vishnu Pavan Beeram, Juniper Networks Xufeng Liu, Jabil Igor Bryskin, Huawei Himanshu Shah, Ciena IETF-98, July 2017, Prague 1
Agenda • Updates to I-Ds (since IETF98) • Open issues • Next steps 2
I-D: drafu-ietg-teas-yang-te-08 drafu-ietg-teas-yang-te 3
Summary of Changes • Credits: – Thanks to Sergio Belottj, Italo Busi, Carlo Perocchio, Francesco Lazzeri et. al for their feedback and review comments – Thanks to multj-vendor team for the contjnued discussions during meetjngs • High-level model changes: – Moved auto-bandwidth propertjes to te-mpls module – Additjonal path constraints – Per LSP oper state and path computed propertjes – In/out segment stjtching propertjes drafu-ietg-teas-yang-te 4
Update # 1 <drafu-ietg-teas-yang-te-08 > LSP path operatjonal state +--ro lsp* +--ro lsp* <snip> <snip> +--ro operational-state? identityref +--ro operational-state? identityref identity lsp-path-computing { identity lsp-state-setup-ok { base lsp-state-type; base lsp-state-type; description description "State path compute in progress"; "State setup successful"; } } identity lsp-path-computation-ok { base lsp-state-type; description identity lsp-state-setup-failed { "State path compute successful"; base lsp-state-type; } description identity lsp-path-computatione-failed { "State setup failed"; base lsp-state-type; } description "State path compute failed"; } identity lsp-state-up { identity lsp-state-setting-up { base lsp-state-type; base lsp-state-type; description "State up"; description "State setting up"; } drafu-ietg-teas-yang-te 5
Update # 2 <drafu-ietg-teas-yang-te-08 > TE path computed computed propertjes state +--ro lsp* • Models per LSP path state -ro computed-path-properties +--ro path-metric* [metric-type] computed propertjes | +--ro metric-type -> ../state/metric-type | +--ro state – Accumulatjve path-metrics | +--ro metric-type? identityref | +--ro accumulative-value? uint64 • TE, IGP, latency, hop-count, +--ro path-affjnities | +--ro constraints* [usage] average-delay, and other additjve | +--ro usage -> ../state/usage | +--ro state metrics | +--ro usage? identityref – Accumulatjve path affjnitjes | +--ro (style)? | +--:(value) • presented as bit-map values or | | +--ro value? te-types:admin-groups | +--:(named) names | +--ro affjnity-names* [name] | +--ro name string – Accumulatjve path SRLGs +--ro path-srlgs | +--ro (style)? • presented as bit-map values or | +--:(values) | | +--ro state names | | +--ro usage? identityref | | +--ro values* te-types:srlg drafu-ietg-teas-yang-te 6
Update # 3 <drafu-ietg-teas-yang-te-08> TE path computed state -ro path-computed-route-objects • Models per LSP path state +--ro path-computed-route-object* [index] +--ro index -> ../state/index +--ro state computed computed +--ro index? uint32 +--ro (type)? propertjes: +--:(numbered) | +--ro numbered-hop | +--ro address? te-types:te-tp-id – Shows for head-end/ingress | +--ro hop-type? te-hop-type +--:(as-number) LSPs | +--ro as-number-hop | +--ro as-number? binary – Shows for transit for path | +--ro hop-type? te-hop-type +--:(unnumbered) | +--ro unnumbered-hop expanded tansit LSPs | +--ro node-id? te-types:te-node-id | +--ro link-tp-id? te-types:te-tp-id – Path computed route/ERO | +--ro hop-type? te-hop-type +--:(label) | +--ro label-hop | +--ro value? rt-types:generalized-label +--:(sid) +--ro sid-hop +--ro sid? rt-types:generalized-label drafu-ietg-teas-yang-te 7
Update # 4 <drafu-ietg-teas-yang-te-08> TE path additjonal constraints rw named-path-constraints • Path metric bounds, covers +--rw named-path-constraint* [name] +--rw name +--rw path-metric-bounds bounds on metric types | +--rw path-metric-bound* [metric-type] | +--rw metric-type -> ../confjg/metric-type – TE, IGP, latency, hop-count, | +--rw confjg | | +--rw metric-type? identityref | | +--rw upper-bound? uint64 average-delay, and other additjve | +--ro state | +--ro metric-type? identityref metrics | +--ro upper-bound? uint64 • Added hop-type for strict/loose (applies to all route-hop-types) • Added sid-hop to covers segment-routjng hop drafu-ietg-teas-yang-te 8
Update # 5 <drafu-ietg-teas-yang-te-08> Optjmizatjon criteria rw named-path-constraints • Optjmizatjon criteria +--rw named-path-constraint* [name] +--rw name +--rw optimizations – Optjmize using standard | +--rw optimization-metric* [metric-type] | +--rw metric-type -> ../confjg/metric-type | +--rw confjg objectjve functjon (RFC5541) | | +--rw metric-type? identityref | | +--rw weight? uint8 | +--ro state – Optjmize for a metric, or list of | +--ro metric-type? identityref | +--ro weight? uint8 metrics by weight +--rw path-objective-function | +--rw confjg | | +--rw objective-function-type? identityref • In case of ECMP, apply | +--ro state | +--ro objective-function-type? identityref +--rw tiebreakers | +--rw tiebreaker* [tiebreaker-type] tjebreaker list criteria | +--rw tiebreaker-type -> ../confjg/tiebreaker-type | +--rw confjg – in list order top to botuom | | +--rw tiebreaker-type? identityref | +--ro state | +--ro tiebreaker-type? identityref drafu-ietg-teas-yang-te 9
Update # 6 <drafu-ietg-teas-yang-te-08> Updated resource affjnity constraints rw named-path-constraints • Per RFC3209, added usage +--rw named-path-constraint* [name] +--rw name +--rw path-affjnities parameter to cover checks | +--rw constraints* [usage] | +--rw usage -> ../confjg/usage | +--rw confjg for 3 additjonal bit-maps : | | +--rw usage? identityref | | +--rw (style)? | | +--:(value) 1. Exclude-any | | | +--rw value? te-types:admin-groups | | +--:(named) | | +--rw affjnity-names* [name] 2. Include-any | | +--rw name string | +--ro state | +--ro usage? identityref 3. Include-all | +--ro (style)? | +--:(value) | | +--ro value? te-types:admin-groups | +--:(named) | +--ro affjnity-names* [name] | +--ro name string drafu-ietg-teas-yang-te 10
Update # 7 <drafu-ietg-teas-yang-te-08> Segment stjtching constraints rw named-path-constraints • In/out segment stjtching +--rw named-path-constraint* [name] +--rw name +--rw in-segment! – candidate labels on in/out | +--rw forward | | +--rw confjg | | | +--rw label-set* [inclusive-exclusive label-start] interface of tunnel | | | +--rw inclusive-exclusive enumeration | | | +--rw label-start rt-types:generalized-label | | | +--rw label-end? rt-types:generalized-label terminatjon points | | | +--rw range-bitmap? binary | +--rw reverse • forward and reverse for | +--rw confjg | | +--rw label-set* [inclusive-exclusive label-start] | | +--rw inclusive-exclusive enumeration | | +--rw label-start rt-types:generalized-label bidirectjonal segments | | +--rw label-end? rt-types:generalized-label | | +--rw range-bitmap? binary +--rw out-segment! | +--rw forward | | +--rw confjg | | | +--rw label-set* [inclusive-exclusive label-start] | | | +--rw inclusive-exclusive enumeration | | | +--rw label-start rt-types:generalized-label | | | +--rw label-end? rt-types:generalized-label | | | +--rw range-bitmap? binary drafu-ietg-teas-yang-te 11
I-D: drafu-ietg-teas-yang-rsvp-07 I-D: drafu-ietg-teas-yang-rsvp-te-01 drafu-ietg-teas-yang-te-05 12
Summary of Changes • No change to drafu-ietg-teas-yang-rsvp • Changes to drafu-ietg-teas-yang-rsvp-te are mostly editorial to align with augmented TE model drafu-ietg-teas-yang-rsvp 13 drafu-ietg-teas-yang-rsvp-te
Open Issue: Migratjon to NMDA style • Impact on-going existjng implementatjon • Impact on augmentjng modules (defjned in out-of-scope documents) • Impact on state created tunnels, e.g.: • PCE instantjated tunnels • auto-created primary or bypass tunnels • Currently, such tunnel propertjes accessible under “state” branches at last level • NMDA proposes a having those under a state branch at the top 14
Next Steps • Close on NMDA or OC-style for model • Contjnue work on defjning tunnel RPCs • RSVP base/extended in I-D is stable and ready for WGLC • Request further review and comments on other models drafu-ietg-teas-yang-te 15
Thank You 16
Recommend
More recommend