Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pim wg multicast YANG team Meeting 20160224 https://www.ietf.org/mailman/listinfo/yang-multicast https://github.com/mcallisterjp/pim-yang.

Similar presentations


Presentation on theme: "Pim wg multicast YANG team Meeting 20160224 https://www.ietf.org/mailman/listinfo/yang-multicast https://github.com/mcallisterjp/pim-yang."— Presentation transcript:

1 pim wg multicast YANG team Meeting 20160224 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 Juniper: policy-statement POLICY-ipv4-example1 { term 1 { from { route-filter 232.1.1.1/32 exact; } then { ssm-source [ 10.10.10.4 192.168.43.66 ]; accept; } Cisco: ! access-list 10 permit 232.1.2.10 access-list 11 permit 232.1.2.0 0.0.0.255 ip igmp ssm-map enable ip igmp ssm-map static 10 172.16.8.10 ip igmp ssm-map static 11 172.16.8.11 ! IGMP ssm config

3 Option 1: (Special enum “policy” to specify source-addr in policy) module: ietf-igmp augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw igmp +--rw interface* [interface] | +--rw ssm-map-src-policy* [source-addr group-policy] {intf-ssm-map-1}? | | +--rw source-addr source-addr-type // ipv4-address | “policy” | | +--rw group-policy string | +--rw ssm-map-policy* [group-policy] {intf-ssm-map-2}? Option 2: (Two separate feature) Choose this one for now. module: ietf-igmp augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw igmp +--rw interface* [interface] | +--rw ssm-map* [source-addr group-policy] {intf-ssm-map}? | | +--rw source-addr source-addr-type // ipv4-address | “policy” | | +--rw group-policy string Option 3: (Vendor Augmentation) module: ietf-igmp augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw igmp +--rw interface* [interface] IGMP ssm config

4 module: ietf-igmp augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw igmp +--rw interface* [interface] | +--rw static-group* [group source-addr] {intf-static-group}? | +--rw group inet:ipv4-address | +--rw source-addr source-addr-type IGMP intf static group config

5 MLD Global and All Intf Option 1: (Same as IGMP) Agreed to use this one module: ietf-igmp-mld augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw mld +--rw global | +--rw enable? boolean {global-admin-enable}? | +--rw max-entries? uint32 {global-max-entries}? | +--rw max-groups? uint32 {global-max-groups}? +--rw interfaces +--rw last-member-query-interval? uint16 +--rw max-groups-per-interface? uint32 {intf-max-groups}? +--rw query-interval? uint16 +--rw query-max-response-time? uint16 +--rw require-router-alert? boolean {intf-require-router-alert}? +--rw robustness-variable? uint8 +--rw version? uint8 Option 2: (Different features) module: ietf-igmp-mld augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw mld +--rw global | +--rw enable? boolean {global-admin-enable-mld}? | +--rw max-entries? uint32 {global-max-entries-mld}? | +--rw max-groups? uint32 {global-max-groups-mld}? +--rw interfaces +--rw last-member-query-interval? uint16 +--rw max-groups-per-interface? uint32 {intf-max-groups-mld}?

6 MLD Per Interface module: ietf-igmp-mld augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw mld +--rw interfaces +--rw interface* [interface] +--rw interface if:interface-ref +--rw enable? boolean {intf-admin-enable}? +--rw group-policy? string +--rw immediate-leave? empty {intf-immediate-leave}? +--rw last-member-query-interval? uint16 +--rw max-groups? uint32 {intf-max-groups}? +--rw max-group-sources? uint32 {intf-max-group- sources}? +--rw query-interval? uint16 +--rw query-max-response-time? uint16 +--rw require-router-alert? boolean {intf-require-router- alert}? +--rw robustness-variable? uint8 +--rw source-policy? string {intf-source-policy}? +--rw verify-source-subnet? empty {intf-verify-source- subnet}? +--rw version? uint8 +--rw join-group* inet:ipv6-address {intf-join- group}?

7 MLD SSM Map and Static Group module: ietf-igmp-mld augment /rt:routing/rt:routing-instance/rt:routing-protocols: +--rw mld +--rw interfaces +--rw interface* [interface] +--rw interface if:interface-ref +--rw ssm-map* [source-addr group-policy] {intf-ssm-map}? | +--rw source-addr source-ipv6-addr-type | +--rw group-policy string +--rw static-group* [group source-addr] {intf-static-group}? +--rw group inet:ipv6-address +--rw source-addr source-ipv6-addr-type Same as IGMP except changing IPv4 addresses to IPv6 addresses.

8 augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro igmp | +--ro global | | +--ro enable? boolean {global-admin-enable}? | | +--ro max-entries? uint32 {global-max-entries}? | | +--ro max-groups? uint32 {global-max-groups}? | | +--ro entries-count? uint32 | | +--ro groups-count? uint32 +--ro mld +--ro global | +--ro enable? boolean {global-admin-enable}? | +--ro max-entries? uint32 {global-max-entries}? | +--ro max-groups? uint32 {global-max-groups}? | +--ro entries-count? uint32 | +--ro groups-count? uint32 IGMP/MLD Global State

9 augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro igmp | +--ro global | | +--ro statistics | | +--ro discontinuity-time? yang:date-and-time | | +--ro error | | | +--ro total? yang:counter64 | | | +--ro query? yang:counter64 | | | +--ro report? yang:counter64 | | | +--ro leave? yang:counter64 | | | +--ro checksum? yang:counter64 | | | +--ro too-short? yang:counter64 | | +--ro received | | | +--ro total? yang:counter64 | | | +--ro query? yang:counter64 | | | +--ro report? yang:counter64 | | | +--ro leave? yang:counter64 | | +--ro sent | | +--ro total? yang:counter64 | | +--ro query? yang:counter64 | | +--ro report? yang:counter64 | | +--ro leave? yang:counter64 IGMP/MLD Statistics

10 module: ietf-igmp-mld augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro igmp | +--ro interfaces | +--ro interface* [interface] | +--ro interface if:interface-ref | +--ro oper-status? enumeration | +--ro dr? inet:ipv4-address | +--ro querier? inet:ipv4-address | +--ro joined-group* inet:ipv4-address {intf-join- group}? | +--ro group* [address] | +--ro address inet:ipv4-address | +--ro expire? uint32 | +--ro filter-mode? enumeration | +--ro host-count? uint32 | +--ro up-time? uint32 | +--ro host* inet:ipv4-address | +--ro last-reporter? inet:ipv4-address | +--ro source* [address] | +--ro address inet:ipv4-address | +--ro expire? uint32 | +--ro up-time? uint32 | +--ro last-reporter? inet:ipv4-address IGMP Interface State

11 module: ietf-igmp-mld augment /rt:routing-state/rt:routing-instance/rt:routing-protocols: +--ro mld +--ro interfaces +--ro interface* [interface] +--ro interface if:interface-ref +--ro oper-status? enumeration // remove +--ro dr? inet:ipv6-address +--ro querier? inet:ipv6-address +--ro joined-group* inet:ipv6-address {intf-join- group}? +--ro group* [address] +--ro address inet:ipv6-address +--ro expire? uint32 +--ro filter-mode? enumeration +--ro host-count? uint32 +--ro up-time? uint32 +--ro host* inet:ipv6-address +--ro last-reporter? inet:ipv6-address +--ro source* [address] +--ro address inet:ipv6-address +--ro expire? uint32 +--ro up-time? uint32 +--ro last-reporter? inet:ipv6-address MLD Interface State

12 rpcs: +---x clear-igmp-groups // optional feature +---w input +---w group-address? inet:ipv4-address +---w interface? if:interface-ref +---x clear-mld-groups +---w input +---w group-address? inet:ipv6-address +---w interface? if:interface-ref IGMP/MLD RPCs


Download ppt "Pim wg multicast YANG team Meeting 20160224 https://www.ietf.org/mailman/listinfo/yang-multicast https://github.com/mcallisterjp/pim-yang."

Similar presentations


Ads by Google