Download presentation
Presentation is loading. Please wait.
Published byEugene Henderson Modified over 8 years ago
1
pim wg multicast YANG team Meeting 20150923 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
BIDIR Model Params module: ietf-pim-bidir augment /rt:routing/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family: +--rw bidir +--rw group-range* [group-ranges] (Anish to recheck if group rang is needed here.)augment /rt:routing/rt:routing-instance/rt:routing-protocols/pim-base:pim/pim- base:interfaces/pim-base:interface/pim-base:address-family: +--rw bidir! +--rw df-election {intf-df-election}? +--rw offer-interval? uint32 +--rw backoff-interval? uint32 +--rw offer-multipler? uint8 augment /rt:routing/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family/pim-rp:rp/pim-rp:static-rp/pim-rp:ipv4-rp: +--rw bidir! +--rw policy-name? string +--rw override? boolean {static-rp-override}? augment /rt:routing/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family/pim-rp:rp/pim-rp:static-rp/pim-rp:ipv6-rp: +--rw bidir! +--rw policy-name? string +--rw override? boolean {static-rp-override}? augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family: +--ro bidir
3
Interface Derived State and Neighbor State === TODO: Check Wiki pages for commonly supported attributes === augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro pim +--ro interfaces +--ro interface* [interface] +--ro interface if:interface-ref +--ro address-family* [address-family] +--ro address-family identityref...... +--ro ipv4 | +--ro address* inet:ipv4-address | +--ro dr-addr? inet:ipv4-address <== Moved up here +--ro ipv6 | +--ro address* inet:ipv6-address | +--ro dr-addr? inet:ipv6-address <== Moved up here +--ro oper-status? Enumeration <== Moved up here +--ro hello-expire? uint16 {intf-hello-interval}? +--ro neighbor* [neighbor-addr] +--ro neighbor-addr inet:ipv4-address +--ro up-time? uint32 +--ro expire? uint16 +--ro dr-priority? uint32 +--ro bfd-status? Enumeration
4
Interface Derived State and Neighbor State objectModel CiscoJuniperAlcatel-LucentBrocadeEricssonZTEHuaweiMetaswitch interfacestring dr-addressip- address is-pim-enabledboolean neighbor-countuint32 external- neighbor-count - hello-interval-uint16 dr-priority-uint32 hello-expiry- are-we-dr?boolean bfd-enabledboolean bfd-intervaluint16 bfd-multiplieruint8 passive-interface? join-prune- interval uint16 prune-delay- enabled? propagation-delayuint16 override-intervaluint16 generation-iduint32 hello-holdtimeuint16 join-prune- holdtime uint16 assert-holdtimeuint16 join-attributeboolean up-downup/down
5
Statistics (1/2) (No change) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro pim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro statistics | | +--ro discontinuity-time? yang:date-and-time | | +--ro error | | | +--ro assert? yang:counter32 | | | +--ro bsr? yang:counter32 | | | +--ro candidate-rp-advertisement? yang:counter32 | | | +--ro graft? yang:counter32 | | | +--ro graft-ack? 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 checksum? yang:counter32 | | | +--ro input-output? yang:counter32 | | | +--ro length? yang:counter32 | | | +--ro unknown? yang:counter32 | | +--ro queue | | | +--ro size? uint32 | | | +--ro overflow? yang:counter32......
6
Statistics (2/2) (No change) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro pim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro statistics...... | | +--ro received | | | +--ro assert? yang:counter32 | | | +--ro bsr? yang:counter32 | | | +--ro candidate-rp-advertisement? yang:counter32 | | | +--ro graft? yang:counter32 | | | +--ro graft-ack? 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 sent | | +--ro assert? yang:counter32 | | +--ro bsr? yang:counter32 | | +--ro candidate-rp-advertisement? yang:counter32......
7
PIM Statistics 1/2 objectModel CiscoJuniperAlcatel- Lucent BrocadeEricssonZTEHuaweiMetaswitch packets-in packets-out format-error checksum-erroruint32 socket-erroruint32 length-erroruint32 unknown-typeuint32 send-queue-full boundary-acl-rx- drop boundary-acl-tx- drop input-hellouint32 output-hellouint32 input-jpuint32 output-jpuint32 input-registeruint32 output-registeruint32 input-register- stop uint32 output-register- stop uint32 input-assertuint32 output-assertuint32 invalid-registersuint32 invalid-join- prunes uint32
8
PIM Statistics 2/2 objectModel CiscoJuniperAlcatel- Lucent BrocadeEricssonZTEHuaweiMetaswitch truncated-packets input-packet-queue- size uint32 packet-queue- priority enqueued-packets dequeued-packets input-queue-tail- drops uint32 invalid-register-stopuint32 invalid-hellouint32 invalid-assertuint32 recv-probeuint32 send-probeuint32 invalid-probeuint32 recv-crpuint32 send-crpuint32 invalid-crpuint32 recv-bsmuint32 send-bsmuint32 invalid-bsmuint32 recv-graftuint32 send-graftuint32 invalid-graftuint32 recv-graft-ackuint32 send-graft-ackuint32 invalid-graft-ackuint32
9
MRoute (1/2) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro pim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro topology-tree-info // was routes | +--ro ipv4-route* [group source-addr is-rpt] | | +--ro group inet:ipv4-prefix | | +--ro source-addr union | | +--ro is-rpt boolean | | +--ro up-time? uint32 | | +--ro expire? timer-value // uint16 | infinity | no-expiry | | +--ro next-join? Uint16 | | +--ro rp-address? inet:ip-address | | +--ro rpf | | | +--ro neighbor? inet:ip-address | | | +--ro monitor? boolean | | +--ro assert-winner? boolean | | +--ro connected? boolean | | +--ro join-spt? boolean | | +--ro local? boolean | | +--ro mode | | | +--ro bidir? boolean | | | +--ro dense? boolean | | | +--ro sparse? Boolean......
10
MRoute (2/2) augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro pim +--ro address-family* [address-family] | +--ro address-family identityref | +--ro routes | +--ro ipv4-route* [group source-addr is-rpt]...... | | +--ro ssm-mdt? boolean | | +--ro registered? boolean | | +--ro msdp-learned? boolean | | +--ro pruned? boolean | | +--ro rp-bit? boolean | | +--ro spt-bit? boolean | | +--ro static-join-upstream? boolean | | +--ro forwarding? boolean | | +--ro invalid-incoming-interface? boolean | | +--ro incoming-interface? if:interface-ref | | +--ro outgoing-interface* if:interface-ref /* Add more attrs */ | +--ro ipv6-route* [ipv6-prefix source-addr] | +--ro ipv6-prefix inet:ipv6-prefix | +--ro source-addr inet:ipv6-address | +--ro up-time? Uint32......
11
MRoute object CiscoJuniperAlcatel-LucentBrocadeEricssonZTEHuaweiMetaswitch group-addressip-address source-addressip-address group-prefix-len source-prefix-len rp-addressip-address rp-neighbor proxy-address protocolenumeratio n wildcard rpt?boolean spt?boolean uptimehh:mm:ssuint32 expiryhh:mm:ss aliveness-time msdp-sourceboolean rpf-safi rpf-table-name rpf-drop rpf-proxy-enabled jp-status is-last-hop? iif-namestring
12
Outgoing interface object CiscoJuniperAlcatel- Lucent BrocadeEricssonZTEHuaweiMetaswitc h interface-namestring assert-winner uptimeuint32 expiryuint32 jp-timer jp-state forwarding-state immediate-state last-hop protocol-typestring assert-stateenumerati on dr-stateboolean downstream-stateenumerati on rpt-stateenumerati on local-memberboolean
13
BSR Derived State augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family: +--ro rp +--ro bsr {bsr}?...... | +--ro bsr-addr? inet:ip-address | +--ro up-time? uint32 | +--ro next-bootstrap? uint16 | +--ro next-candidate-rp-advertisement? uint16 | +--ro rp-address? inet:ip-address | +--ro group-policy? String
14
BSR/Candidate-BSR State objectModel CiscoJuniperAlcatel- Lucent BrocadeEricssonZT E HuaweiMetaswitch bsr-addressip-address bsr-prioritycfguint8 bsr-mask-lengthcfguint8 bsr-up-timeuint32 bsr-election-stateenumeration bsr-scopeenumeration candidate-bsr- address ip-address candidate-bsr- state enumeration candidate-bsr- priority uint8 candidate-bsr- mask-len uint8
15
Candidate-RP/Group State objectModel CiscoJuniperAlcatel- Lucent BrocadeEricssonZTEHuaweiMetaswitch candidate-rp-addressip-address candidate-rp-mode candidate-rp-scope candidate-rp-priorityuint8 candidate-rp-holdtime candidate-rp- advertisement-interval candidate-rp- advertisement-next hh:mm:ss candidate-rp-uptimehh:mm:ssuint32 group-list-aclstring pim-mode group-addressip-address group-mask-lenuint8
16
RP State augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family: +--ro rp...... +--ro rp-list | +--ro ipv4-rp* [ipv4-addr] | | +--ro ipv4-addr inet:ipv4-address | | +--ro info-source-addr? inet:ipv4-address | | +--ro info-source-type? enumeration | | +--ro up-time? uint32 | | +--ro expire? uint16 | +--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
17
Group to RP Mappings augment /rt:routing-state/rt:routing-instance/rt:routing-protocols/pim- base:pim/pim-base:address-family: +--ro rp...... +--ro rp-mappings +--ro ipv4-rp* [group rp-addr] | +--ro group inet:ipv4-prefix | +--ro rp-addr inet:ipv4-address | +--ro info-source-addr? inet:ipv4-address | +--ro info-source-type? enumeration | +--ro up-time? uint32 | +--ro expire? uint16 +--ro ipv6-rp* [group rp-addr] +--ro group inet:ipv6-prefix +--ro rp-addr inet:ipv6-address +--ro info-source-addr? inet:ipv6-address +--ro info-source-type? enumeration +--ro up-time? uint32 +--ro expire? Uint16
18
TODO -Oper State: -All: to provide state presentatiions. -Anish: to provide Bidir DF-election state - Notification.
19
PIM Notifications 1/3 module: ietf-pim-base: notifications: +---n pim-neighbor-event | +--ro neighbor-event-type? up|down | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro interface-ref? leafref | +--ro address-family-ref? leafref | +--ro neighbor-ref? Leafref | +--ro up-time? uint32 +---n pim-interface-event | +--ro intf-event-type? up|down|new-dr|new-df | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro interface-ref? leafref | +--ro address-family-ref? leafref | +--ro ip-address? ip-address
20
PIM Notifications 2/3 module: ietf-pim-rp: notifications: +---n pim-invalid-jp-event | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro address-family-ref? leafref | +--ro ipv4-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref | +--ro ipv6-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref | +--ro up-time? Uint32 +---n pim-invalid-register-event | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro address-family-ref? leafref | +--ro ipv4-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref | +--ro ipv6-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref
21
PIM Notifications 3/3 module: ietf-pim-rp: notifications: +---n pim-rp-mapping-created-event | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro address-family-ref? leafref | +--ro ipv4-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref | +--ro ipv6-rp | | +--ro group leafref | | +--ro rp-addr leafref | | +--ro is-rpt leafref +---n pim-rp-mapping-deleted-event | +--ro routing-instance-ref? rt:routing-instance-ref | +--ro address-family-ref? leafref (require-instance=no) | +--ro ipv4-rp | | +--ro group leafref (require-instance=no) | | +--ro rp-addr leafref (require-instance=no) | | +--ro is-rpt leafref (require-instance=no) | +--ro ipv6-rp | | +--ro group leafref (require-instance=no) | | +--ro rp-addr leafref (require-instance=no) | | +--ro is-rpt leafref (require-instance=no)
22
IGMP module: ietf-igmp augment /if:interfaces/if:interface/ip:ipv4: +--rw igmp +--rw ssm-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
23
MLD module: ietf-mld augment /if:interfaces/if:interface/ip:ipv4: +--rw mld +--rw ssm-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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.