1 / 12

pim wg multicast YANG team

This document provides configuration and state information for PIM multicast interfaces, including hello interval, hello holdtime, JP interval, propagation delay, and neighbor state.

amandan
Download Presentation

pim wg multicast YANG team

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. pim wg multicast YANG team Meeting 20151202 https://www.ietf.org/mailman/listinfo/yang-multicast http://trac.tools.ietf.org/wg/pim/trac/wiki/yang https://github.com/mcallisterjp/pim-yang

  2. Interface Config augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rwpim +--rw interfaces +--rw interface* [interface] +--rw interface if:interface-ref +--rw address-family* [address-family] - +--rw hello-interval? uint16 {intf-hello-interval}? + +--rw hello-interval? timer-value {intf-hello-interval}? +--rw (hello-holdtime-or-multipler)? | +--:(holdtime) {intf-hello-holdtime}? - | | +--rw hello-holdtime? uint16 + | | +--rw hello-holdtime? timer-value | +--:(multipler) {intf-hello-multipler}? | +--rw hello-multipler? uint8 - +--rwjp-interval? uint16 {intf-jp-interval}? + +--rwjp-interval? timer-value {intf-jp-interval}? +--rw (jp-holdtime-or-multipler)? | +--:(holdtime) {intf-jp-holdtime}? - | | +--rwjp-holdtime? uint16 + | | +--rwjp-holdtime? timer-value | +--:(multipler) {intf-jp-multipler}? | +--rwjp-multipler? uint8 +--rw propagation-delay? uint16 {intf-propagation-delay}?

  3. Interface Derived State augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ropim +--ro interfaces +--ro interface* [interface] +--ro address-family* [address-family] +--ro address-family identityref - +--ro hello-interval? uint16 {intf-hello-interval}? + +--ro hello-interval? timer-value {intf-hello-interval}? +--ro (hello-holdtime-or-multipler)? | +--:(holdtime) {intf-hello-holdtime}? - | | +--ro hello-holdtime? uint16 + | | +--ro hello-holdtime? timer-value - +--rojp-interval? uint16 {intf-jp-interval}? + +--rojp-interval? timer-value {intf-jp-interval}? +--ro (jp-holdtime-or-multipler)? | +--:(holdtime) {intf-jp-holdtime}? - | | +--rojp-holdtime? uint16 + | | +--rojp-holdtime? timer-value - +--ro hello-expire? uint32 + +--ro hello-expire? timer-value

  4. Interface Neighbor State augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ropim +--ro interfaces +--ro interface* [interface] +--ro interface if:interface-ref +--ro address-family* [address-family] +--ro address-family identityref ... ... +--ro neighbor-ipv6* [address] +--ro address inet:ipv6-address +--robfd-status? enumeration - +--ro expire? uint32 + +--ro expire? timer-value +--rodr-priority? uint32 +--ro gen-id? uint32 +--ro up-time? Uint32 typedef timer-value { type union { type uint16; type enumeration { enum "infinity" { description "The timer is set to infinity."; } enum "no-expiry" { description "The timer is not set."; } } } units seconds; description "Timer value type."; } // timer-value

  5. Statistics (1/2) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ropim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro statistics | | +--ro discontinuity-time? yang:date-and-time | | +--roerror - | | | +--ro assert? yang:counter32 - | | | +--robsr? yang:counter32 - | | | +--ro candidate-rp-advertisement? yang:counter32 - | | | +--ro hello? yang:counter32 - | | | +--ro join-prune? yang:counter32 - | | | +--ro register? yang:counter32 - | | | +--ro register-stop? yang:counter32 - | | | +--ro state-refresh? yang:counter32 + | | | +--ro assert? yang:counter64 + | | | +--robsr? yang:counter64 + | | | +--ro candidate-rp-advertisement? yang:counter64 + | | | +--ro hello? yang:counter64 + | | | +--ro join-prune? yang:counter64 + | | | +--ro register? yang:counter64 + | | | +--ro register-stop? yang:counter64 + | | | +--ro state-refresh? yang:counter64

  6. Statistics (2/2) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ropim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro statistics | | +--ro discontinuity-time? yang:date-and-time | | +--ro received - | | | +--ro assert? yang:counter32 - | | | +--robsr? yang:counter32 - | | | +--ro candidate-rp-advertisement? yang:counter32 - | | | +--ro hello? yang:counter32 - | | | +--ro join-prune? yang:counter32 - | | | +--ro register? yang:counter32 - | | | +--ro register-stop? yang:counter32 - | | | +--ro state-refresh? yang:counter32 + | | | +--ro assert? yang:counter64 + | | | +--robsr? yang:counter64 + | | | +--ro candidate-rp-advertisement? yang:counter64 + | | | +--ro hello? yang:counter64 + | | | +--ro join-prune? yang:counter64 + | | | +--ro register? yang:counter64 + | | | +--ro register-stop? yang:counter64 + | | | +--ro state-refresh? yang:counter64

  7. Topology Tree Info (1/2) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ropim +--ro address-family* [address-family] | +--ro address-family identityref ... | +--ro topology-tree-info | +--ro ipv4-route* [group source-addr is-rpt] | | +--ro group inet:ipv4-address | | +--ro source-addr union | | +--ro is-rptboolean | | +--ro expire? uint32 | | +--ro incoming-interface? if:interface-ref | | +--ro mode? pim-mode | | +--romsdp-learned? boolean | | +--rorp-address? inet:ip-address | | +--rorpf-neighbor? inet:ip-address | | +--rospt-bit? boolean | | +--ro up-time? uint32 | | +--ro outgoing-interface* [name] | | +--ro name if:interface-ref - | | +--ro expire? yang:timeticks - | | +--ro up-time? yang:timeticks + | | +--ro expire? timer-value + | | +--ro up-time? uint32

  8. BIDIR Config augment /rt:routing/rt:routing-instance/rt:routing-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface/pim-base:address-family: +--rwbidir! +--rwdf-election {intf-df-election}? - +--rw offer-interval? uint32 - +--rwbackoff-interval? uint32 + +--rw offer-interval? pim-base:timer-value + +--rwbackoff-interval? pim-base:timer-value +--rw offer-multipler? Uint8

  9. BSR and RP State +augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/pim-base:pim/pim-base:address-family: +--rorp +--robsr {bsr}? | +--robsr-candidate! | | +--ro up-time? uint32 - | | +--ro expire? uint16 + | | +--ro expire? pim-base:timer-value | +--ro ipv6-rp* [ipv6-addr] | +--ro ipv6-addr inet:ipv6-address | +--ro info-source-addr? inet:ipv6-address | +--ro info-source-type? enumeration | +--ro up-time? uint32 - | +--ro expire? uint16 + | +--ro expire? pim-base:timer-value +--rorp-mappings +--ro ipv4-rp* [group rp-addr] | +--ro group inet:ipv4-prefix | +--ro up-time? uint32 - | +--ro expire? uint16 + | +--ro expire? pim-base:timer-value

  10. BFD Config and State augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:areas/ospf:area/ospf:interfaces/ospf:interface: +--rwbfd +--rw enabled? boolean +--rw local-multiplier? Multiplier // feature +--rw (interval-config-type)? +--:(tx-rx-intervals) | +--rw desired-min-tx-interval uint32 | +--rw required-min-rx-interval uint32 +--:(single-interval) +--rw min-interval uint32 augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:areas/ospf:area/ospf:interfaces/ospf:interface: +--robfd +--ro enabled? boolean +--ro local-multiplier? multiplier +--ro (interval-config-type)? +--:(tx-rx-intervals) | +--ro desired-min-tx-interval uint32 | +--ro required-min-rx-interval uint32 +--:(single-interval) +--ro min-interval uint32

  11. IGMP module: ietf-igmp augment /if:interfaces/if:interface/ip:ipv4: +--rwigmp +--rwssm-map* [source-ip-address] | +--rw source-ip-address inet:ipv4-address | +--rw group-access-list-name string +--rw static-group* [group-ip-address] | +--rw group-ip-address inet:ipv4-address | +--rw source-ip-address? inet:ipv4-address +--rw access-group? string +--rw join-group? inet:ipv4-address +--rw last-member-query-interval? uint16 +--rw query-interval? uint16 +--rw query-max-response-time? uint8 +--rw query-solicitation? empty +--rw robust? uint8 +--rw verify-source-subnet? empty +--rw version? uint8

  12. MLD module: ietf-mld augment /if:interfaces/if:interface/ip:ipv4: +--rwmld +--rwssm-map* [source-ip-address] | +--rw source-ip-address inet:ipv6-address | +--rw group-access-list-name string +--rw static-group* [group-ip-address] | +--rw group-ip-address inet:ipv6-address | +--rw source-ip-address? inet:ipv6-address +--rw access-group? string +--rw last-member-query-interval? uint16 +--rw query-interval? uint16 +--rw query-max-response-time? uint8 +--rw query-solicitation? empty +--rw robust? uint8 +--rw version? uint8

More Related