Enhanced Media Delivery Index.
Version: 2020-03-09
module huawei-emdi { yang-version 1; namespace 'urn:huawei:yang:huawei-emdi'; prefix emdi; import ietf-inet-types { prefix inet; } import huawei-extension { prefix ext; } import huawei-ifm { prefix ifm; } import huawei-network-instance { prefix ni; } import huawei-l2vpn { prefix l2vpn; } import huawei-l3vpn { prefix l3vpn; } import huawei-bd { prefix bd; } import ietf-yang-types { prefix yang; } organization "Huawei Technologies Co., Ltd."; contact "Huawei Industrial Base Bantian, Longgang Shenzhen 518129 People's Republic of China Website: http://www.huawei.com Email: support@huawei.com"; description "Enhanced Media Delivery Index."; reference "Huawei private."; revision "2020-03-09" { description "Modify description for YANG check."; reference "Huawei private."; } revision "2020-01-09" { description "Modify support-filter of slot-id."; reference "Huawei private."; } revision "2020-01-02" { description "Modify consistency between YANG Cabilty and YANG library."; reference "Huawei private."; } revision "2019-11-11" { description "Modify emdi-bind-slots to choice-case structure bind-lpu."; reference "Huawei private."; } revision "2019-06-27" { description "Init revision."; reference "Huawei private."; } ext:task-name "emdi"; typedef channel-ref { type leafref { path "/emdi:emdi/emdi:emdi-channels/emdi:emdi-channel/emdi:channel-name"; } description "This type is used by data models that need to reference configured channels."; } container emdi { description "On-board EMDI detection that obtains packet header information to sample multicast quality data."; container emdi-enable { presence "Enable EMDI"; description "Enable/disable EMDI detection."; container emdi-global { description "Configure global EMDI attribute information."; leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } default 'second-60s'; description "EMDI monitoring period, which controls the detection interval."; } leaf suppress-times { type uint8 { range "3..10"; } default '3'; description "Alarm suppression time. When the number of consecutive detection periods during which a specified alarm threshold is reached exceeds a specified suppression threshold, an alarm is generated."; } leaf loss-rate-threshold-sd { ext:dynamic-default { ext:default-value "38" { when "../monitor-period = 'second-60s'"; description "The default value is 38 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Threshold for generating an SD channel packet loss alarm."; } leaf loss-rate-threshold-hd { ext:dynamic-default { ext:default-value "9" { when "../monitor-period = 'second-60s'"; description "The default value is 9 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Threshold for generating an HD channel packet loss alarm."; } leaf loss-rate-threshold-4k { ext:dynamic-default { ext:default-value "3" { when "../monitor-period = 'second-60s'"; description "The default value is 3 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Threshold for generating a 4K channel packet loss alarm."; } leaf disorder-rate-threshold-sd { ext:dynamic-default { ext:default-value "38" { when "../monitor-period = 'second-60s'"; description "The default value is 38 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Threshold for generating an SD channel packet disorder alarm."; } leaf disorder-rate-threshold-hd { ext:dynamic-default { ext:default-value "9" { when "../monitor-period = 'second-60s'"; description "The default value is 9 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Alarm threshold for the packet disorder rate of HD channels."; } leaf disorder-rate-threshold-4k { ext:dynamic-default { ext:default-value "3" { when "../monitor-period = 'second-60s'"; description "The default value is 3 when monitor-period is 60."; } ext:default-value "100" { when "../monitor-period = 'second-10s' or ../monitor-period = 'second-30s'"; description "The default value is 100 when monitor-period is 10 or 30."; } } type uint16 { range "1..5000"; } description "Alarm threshold for the packet disorder rate of 4K channels."; } leaf mpls-enable { type enumeration { enum "disable" { value 0; description "Disable MPLS tunnel detection."; } enum "enable" { value 1; description "Enable MPLS tunnel detection."; } } default 'disable'; description "In the P node scenario, enable MPLS tunnel detection to ensure that the P node detection function is proper."; } leaf jitter-enable { type enumeration { enum "disable" { value 0; description "Disable jitter detection."; } enum "enable" { value 1; description "Enable jitter detection."; } } default 'disable'; description "Whether to enable the jitter detection function for multicast packets."; } leaf monitor-rate-only { type enumeration { enum "disable" { value 0; description "Only disable rate detection."; } enum "enable" { value 1; description "Only enable rate detection."; } } default 'disable'; description "Only packet rate information is detected."; } leaf age-periods { type uint8 { range "3..60"; } default "10"; description "Bier channel statistics age periods."; } } // container emdi-global container emdi-channel-groups { description "List of configure channel group information. Multiple channels can be bound to a channel group."; list emdi-channel-group { key "channel-group-name"; max-elements 32; description "Configure channel group information. Multiple channels can be bound to a channel group."; leaf channel-group-name { type string { length "1..31"; } description "Channel group name."; } choice channel-type { description "Configure EMDI channel information."; case emdi-channel { description "Configure channel information."; container emdi-channels { description "List of configure channel information."; list emdi-channel { key "channel-name"; max-elements 2100; description "Configure channel information. The group-address and source-address combination of different instances cannot overlap."; leaf channel-name { type string { length "1..31"; } must "count(../../../../emdi-channel-group/emdi-channels/emdi-channel/channel-name[.= current()]) + count(../../../../emdi-channel-group/emdi-bier-channels/emdi-bier-channel/channel-name[.= current()]) <= 1"; description "Channel name."; } leaf source-address { type inet:ipv4-address-no-zone; mandatory true; description "Multicast IP source address."; } leaf group-address { type inet:ipv4-address-no-zone; mandatory true; description "Multicast IP address."; } choice channel-group-parameters { description "EMDI channel group parameters."; case vpn-name { description "Specify the name of a VPN instance. Multicast traffic is bound to a VPN tunnel."; leaf vpn-name { type leafref { path "/ni:network-instance/ni:instances/ni:instance/ni:name"; } must "/ni:network-instance/ni:instances/ni:instance[ni:name=current()]/l3vpn:afs/l3vpn:af[l3vpn:type='ipv4-unicast'] and ../vpn-name!='_public_'"; description "Specify the name of a VPN instance. Multicast traffic is bound to a VPN tunnel."; } } // case vpn-name case vlan-id { description "VLAN information. Multicast traffic is bound to VLANs."; leaf vlan-id { type uint16 { range "1..4094"; } description "VLAN information. Multicast traffic is bound to VLANs."; } } // case vlan-id case vsi-name { description "Name of a VSI. Multicast traffic is bound to a VSI tunnel."; leaf vsi-name { type leafref { path "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance/l2vpn:name"; } must "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance[l2vpn:name=current()][l2vpn:type='vpls']"; description "Name of a VSI. Multicast traffic is bound to a VSI tunnel."; } } // case vsi-name case bd-id { description "DB information. Multicast traffic is bound to a BD."; leaf bd-id { type leafref { path "/bd:bd/bd:instances/bd:instance/bd:id"; } description "DB information. Multicast traffic is bound to a BD."; } } // case bd-id case transit { description "In the P node scenario, enable the transit detection function to ensure that the P node detection function is proper."; leaf transit { type empty; description "In the P node scenario, enable the transit detection function to ensure that the P node detection function is proper."; } } // case transit } // choice channel-group-parameters leaf pt-value { type uint16 { range "25..34 | 96..127"; } must "(../clock-rate='clock-90khz') or (../clock-rate!='clock-90khz' and ../pt-value >= 96 and ../pt-value <= 127)"; default "33"; description "Payload type. Only payload type (PT) videos are detected."; } leaf clock-rate { type enumeration { enum "clock-90khz" { value 0; description "Clock rate 90kHz frequency."; } enum "clock-27000khz" { value 1; description "Clock rate 27000kHz frequency."; } enum "clock-148500khz" { value 2; description "Clock rate 148500kHz frequency."; } enum "clock-about-148mhz" { value 3; description "Clock rate 148.5/1.001MHz frequency."; } } must "(../clock-rate='clock-90khz') or (../clock-rate!='clock-90khz' and ../pt-value >= 96 and ../pt-value <= 127)"; default 'clock-90khz'; description "Clock frequency information."; } leaf uncompressed { type empty; description "Whether non-compressed multicast traffic detection is enabled."; } } // list emdi-channel } // container emdi-channels } // case emdi-channel case emdi-bier-channel { description "Configure bier channel information."; container emdi-bier-channels { description "List of configure bier channel information."; list emdi-bier-channel { key "channel-name"; max-elements 2100; description "Configure bier channel information."; leaf channel-name { type string { length "1..31"; } must "count(../../../../emdi-channel-group/emdi-channels/emdi-channel/channel-name[.= current()]) + count(../../../../emdi-channel-group/emdi-bier-channels/emdi-bier-channel/channel-name[.= current()]) <= 1"; description "Channel name."; } leaf source-address { type inet:ipv4-address-no-zone; mandatory true; description "Multicast IP source address."; } leaf group-address { type inet:ipv4-address-no-zone; mandatory true; description "Multicast IP address."; } leaf bier-vpn-name { type leafref { path "/ni:network-instance/ni:instances/ni:instance/ni:name"; } must "/ni:network-instance/ni:instances/ni:instance[ni:name=current()]/l3vpn:afs/l3vpn:af[l3vpn:type='ipv4-unicast'] and ../bier-vpn-name!='_public_'"; mandatory true; description "Specify the name of a VPN instance. Multicast traffic is bound to a VPN tunnel."; } leaf sub-domain { type uint16 { range "0..255"; } mandatory true; description "The bier sub-domain."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } mandatory true; description "The bit string length."; } } // list emdi-bier-channel } // container emdi-bier-channels } // case emdi-bier-channel } // choice channel-type } // list emdi-channel-group } // container emdi-channel-groups container emdi-lpu-groups { description "List of configure Board group information."; list emdi-lpu-group { ext:generated-by "system" { ext:filter "lpu-group-name='_default_'"; description "The default board group named _default_ is automatically generated by the system."; } ext:operation-exclude "update" { ext:filter "lpu-group-name='_default_'"; description "The default board group named _default_ cannot be updated."; } key "lpu-group-name"; max-elements 32; description "Configure board group information."; leaf lpu-group-name { type string { length "1..31"; } description "Board group name."; } choice bind-lpu { description "Bind slot <all> or <slot-number>."; case bind-all { description "Bind slot <all>."; container bind-all { description "Configure bind slot <all>."; leaf all { type empty; description "Bind slot <all>."; } } // container bind-all } // case bind-all case bind-slots { description "Bind slot <slot-number>."; leaf-list slot { type string { length "1..15"; } max-elements 128; description "Configure slot number."; } } // case bind-slots } // choice bind-lpu } // list emdi-lpu-group } // container emdi-lpu-groups container channel-group-bind-lpu-groups { description "List of configure binding between a channel group and a board."; list channel-group-bind-lpu-group { key "lpu-group-name channel-group-name"; unique "channel-group-name"; max-elements 32; description "Configure binding between a channel group and a board."; leaf lpu-group-name { type leafref { path "../../../emdi-lpu-groups/emdi-lpu-group/lpu-group-name"; } description "Name of a bound board group."; } leaf channel-group-name { type leafref { path "../../../emdi-channel-groups/emdi-channel-group/channel-group-name"; } description "Name of a bound channel group."; } } // list channel-group-bind-lpu-group } // container channel-group-bind-lpu-groups container outbound-channel-group-bind-lpu-groups { description "List of configure outbound binding between a channel group and a board."; list outbound-channel-group-bind-lpu-group { key "lpu-group-name channel-group-name"; unique "channel-group-name"; max-elements 32; description "Configure outbound binding between a channel group and a board."; leaf lpu-group-name { type leafref { path "../../../emdi-lpu-groups/emdi-lpu-group/lpu-group-name"; } description "Name of a bound board group."; } leaf channel-group-name { type leafref { path "../../../emdi-channel-groups/emdi-channel-group/channel-group-name"; } description "Name of a bound channel group."; } } // list outbound-channel-group-bind-lpu-group } // container outbound-channel-group-bind-lpu-groups container bier-enable { description "Configure bier lpu group."; leaf lpu-group-name { type leafref { path "../../emdi-lpu-groups/emdi-lpu-group/lpu-group-name"; } description "Name of a bound board group."; } } // container bier-enable } // container emdi-enable container emdi-history-records { config false; description "List of query historical EMDI detection state."; list emdi-history-record { key "channel-name record-index direction"; config false; description "Query historical EMDI detection state."; leaf channel-name { type string { length "1..31"; } config false; description "Channel name."; } leaf record-index { type uint16 { range "0..1000"; } config false; description "Index of each detection message. The value 0 indicates that no abnormal flow."; } leaf direction { type enumeration { enum "inbound" { value 0; description "Inbound."; } enum "outbound" { value 1; description "Outbound."; } } config false; description "Specify the direction of EMDI."; } leaf record-time { type string { length "1..19"; } config false; description "Time when each piece of information is detected."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } config false; description "Detection period of each detection message."; } leaf monitor-status { type enumeration { enum "normal" { value 0; description "Status normal."; } enum "car-drop" { value 1; description "Status abnormal, NP drop."; } enum "rate-only" { value 2; description "Only the rate of video streams is detected."; } } config false; description "Detection status of each detection message."; } leaf receive-packet { type uint64; config false; description "Number of received packets."; } leaf rate-pps { type uint64; units "pps"; config false; description "Rate (pps) at which packets are received."; } leaf rate-bps { type uint64; units "bit/s"; config false; description "Rate (bit/s) at which packets are received."; } leaf lost-packet { type uint64; config false; description "Number of lost packets on a channel."; } leaf disorder-packet { type uint64; config false; description "Number of disordered packets."; } leaf rtp-lr { type uint32; units "0.001 %"; config false; description "Packet loss rate of a channel."; } leaf rtp-ser { type uint32; units "0.001 %"; config false; description "Check the channel disorder rate."; } leaf rtp-jitter { type string { length "1..9"; } config false; description "Check the jitter of the channel."; } leaf slot-id { ext:support-filter "true"; type string { length "1..15"; } config false; description "Slot ID."; } leaf interface-name { type string { length "1..63"; } config false; description "Interface name."; } leaf latest-rate { type uint64; units "pps"; description "Latest rate."; } leaf latest-detect-time { type yang:date-and-time; description "Latest detect time."; } } // list emdi-history-record } // container emdi-history-records container bier-history-records { config false; description "List of query historical BIER EMDI detection state."; list bier-history-record { key "source-address group-address vpn-label bfir-id sub-domain bsl si record-index slot-id"; description "Query historical BIER EMDI detection state."; leaf source-address { type inet:ipv4-address-no-zone; description "Multicast IP source address."; } leaf group-address { type inet:ipv4-address-no-zone; description "Multicast IP address."; } leaf vpn-label { type uint32; description "Vpn label of vpn in bier."; } leaf bfir-id { type uint16; description "Bit forwarding router ID."; } leaf sub-domain { type uint16 { range "0..255"; } description "Bier sub domain."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Set identifier."; } leaf record-index { type uint16 { range "0..1000"; } description "Index of each detection message. The value 0 indicates that no abnormal flow."; } leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf record-time { type string { length "1..19"; } description "Time when each piece of information is detected."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "Detection period of each detection message."; } leaf monitor-status { type enumeration { enum "normal" { value 0; description "Status normal."; } enum "car-drop" { value 1; description "Status abnormal, NP drop."; } enum "rate-only" { value 2; description "Only the rate of video streams is detected."; } } description "Detection status of each detection message."; } leaf receive-packet { type uint64; description "Number of received packets."; } leaf rate-pps { type uint64; units "pps"; description "Rate (pps) at which packets are received."; } leaf rate-bps { type uint64; units "bit/s"; description "Rate (bit/s) at which packets are received."; } leaf lost-packet { type uint64; description "Number of lost packets on a channel."; } leaf disorder-packet { type uint64; description "Number of disordered packets."; } leaf rtp-lr { type uint32; units "0.001 %"; description "Packet loss rate of a channel."; } leaf rtp-ser { type uint32; units "0.001 %"; description "Check the channel disorder rate."; } leaf latest-rate { type uint64; units "pps"; description "Latest rate."; } leaf latest-detect-time { type yang:date-and-time; description "Latest detect time."; } } // list bier-history-record } // container bier-history-records container bier-out-history-records { config false; description "List of query historical BIER EMDI out detection state."; list bier-out-history-record { key "source-address group-address vpn-label bfir-id sub-domain bsl si record-index slot-id interface-name token"; description "Query historical BIER EMDI out detection state."; leaf source-address { type inet:ipv4-address-no-zone; description "Multicast IP source address."; } leaf group-address { type inet:ipv4-address-no-zone; description "Multicast IP address."; } leaf vpn-label { type uint32; description "Vpn label of vpn in bier."; } leaf bfir-id { type uint16; description "Bit forwarding router ID."; } leaf sub-domain { type uint16 { range "0..255"; } description "Bier sub domain."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Set identifier."; } leaf record-index { type uint16 { range "0..1000"; } description "Index of each detection message. The value 0 indicates that no abnormal flow."; } leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf interface-name { type string { length "1..63"; } description "Interface name."; } leaf token { type uint32; description "Multicast leaf token."; } leaf record-time { type string { length "1..19"; } description "Time when each piece of information is detected."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "Detection period of each detection message."; } leaf monitor-status { type enumeration { enum "normal" { value 0; description "Status normal."; } enum "car-drop" { value 1; description "Status abnormal, NP drop."; } enum "rate-only" { value 2; description "Only the rate of video streams is detected."; } } description "Detection status of each detection message."; } leaf receive-packet { type uint64; description "Number of received packets."; } leaf rate-pps { type uint64; units "pps"; description "Rate (pps) at which packets are received."; } leaf rate-bps { type uint64; units "bit/s"; description "Rate (bit/s) at which packets are received."; } leaf lost-packet { type uint64; description "Number of lost packets on a channel."; } leaf disorder-packet { type uint64; description "Number of disordered packets."; } leaf rtp-lr { type uint32; units "0.001 %"; description "Packet loss rate of a channel."; } leaf rtp-ser { type uint32; units "0.001 %"; description "Check the channel disorder rate."; } leaf latest-rate { type uint64; units "pps"; description "Latest rate."; } leaf latest-detect-time { type yang:date-and-time; description "Latest detect time."; } } // list bier-out-history-record } // container bier-out-history-records container emdi-channels { config false; description "List of Channel state."; list emdi-channel { key "channel-name"; config false; description "Channel state."; leaf channel-name { type string { length "1..31"; } config false; description "Channel name."; } } // list emdi-channel } // container emdi-channels container emdi-telem-reps { config false; description "List of EMDI Telemetry IPTV Report Yang Models state."; list emdi-telem-rep { key "vr-id channel-name"; config false; description "EMDI Telemetry IPTV Report Yang Model state."; leaf vr-id { type uint32 { range "0..32"; } config false; description "Index of the VR that the channel belongs to."; } leaf channel-name { type channel-ref; config false; description "Name of the multicast channel."; } leaf channel-source-address { type inet:ipv4-address-no-zone; config false; description "IPv4 source adddress of the multicast channel."; } leaf channel-group-address { type inet:ipv4-address-no-zone; config false; description "IPv4 group adddress of the multicast channel."; } leaf channel-vpn-type { type uint32 { range "0..4"; } config false; description "The VPN type that the multicast channel belongs to."; } leaf vpn-name { type string { length "1..31"; } config false; description "The L3VPN name of the multicast channel."; } leaf vlan-id { type uint32 { range "0..65535"; } config false; description "The L2VPN VLAN Id of the multicast channel."; } leaf vsi-name { type string { length "1..31"; } config false; description "The L2VPN VSI name of the multicast channel."; } leaf bd-id { type uint32 { range "0..16777215"; } config false; description "The L2VPN BD name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; config false; description "The report time of current report period."; } leaf total-recv-packets { type uint64; config false; description "The total received RTP packets number in current report period."; } leaf total-loss-packets { type uint64; config false; description "The total lost RTP packets number in current report period."; } leaf total-disorderd-packets { type uint64; config false; description "The total disordered RTP packets number in current report period."; } leaf monitor-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; config false; description "The start time of current monitor period."; } leaf worst-recv-packets { type uint64; config false; description "The received RTP packets number in the worst monitor period in current report period."; } leaf worst-loss-packets { type uint64; config false; description "The lost RTP packets number in the worst monitor period in current report period."; } leaf worst-disorderd-packets { type uint64; config false; description "The disordered RTP packets number in the worst monitor period in current report period."; } } // list emdi-telem-rep } // container emdi-telem-reps container emdi-telem-rtps { config false; description "List of EMDI Telemetry RTP Report Yang Models state."; list emdi-telem-rtp { key "vr-id channel-name"; config false; description "EMDI Telemetry RTP Report Yang Model state."; leaf vr-id { type uint32 { range "0..32"; } config false; description "Index of the VR that the channel belongs to."; } leaf channel-name { type channel-ref; config false; description "Name of the multicast channel."; } leaf channel-source-address { type inet:ipv4-address-no-zone; config false; description "IPv4 source adddress of the multicast channel."; } leaf channel-group-address { type inet:ipv4-address-no-zone; config false; description "IPv4 group adddress of the multicast channel."; } leaf channel-vpn-type { type uint32 { range "0..4"; } config false; description "The VPN type that the multicast channel belongs to."; } leaf vpn-name { type string { length "1..31"; } config false; description "The L3VPN name of the multicast channel."; } leaf vlan-id { type uint32 { range "0..65535"; } config false; description "The L2VPN VLAN Id of the multicast channel."; } leaf vsi-name { type string { length "1..31"; } config false; description "The L2VPN VSI name of the multicast channel."; } leaf bd-id { type uint32 { range "0..16777215"; } config false; description "The L2VPN BD name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; config false; description "The report time of current report period."; } leaf recv-packets { type uint64; config false; description "The received RTP packets number in current report period."; } leaf loss-packets { type uint64; config false; description "The lost RTP packets number in current report period."; } leaf disorderd-packets { type uint64; config false; description "The disordered RTP packets number in current report period."; } leaf monitor-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; config false; description "The start time of current monitor period."; } } // list emdi-telem-rtp } // container emdi-telem-rtps container out-telem-reps { config false; description "List of outbound EMDI Telemetry IPTV Report Yang Models state."; list out-telem-rep { key "vr-id channel-name slot-id"; config false; description "Outbound EMDI Telemetry IPTV Report Yang Model state."; leaf vr-id { type uint32; config false; description "Index of the VR that the channel belongs to."; } leaf channel-name { type channel-ref; config false; description "Name of the multicast channel."; } leaf slot-id { type string { length "1..15"; } config false; description "Slot name of the multicast channel."; } leaf channel-source-address { type inet:ipv4-address-no-zone; config false; description "IPv4 source adddress of the multicast channel."; } leaf channel-group-address { type inet:ipv4-address-no-zone; config false; description "IPv4 group adddress of the multicast channel."; } leaf channel-vpn-type { type uint32 { range "0..1"; } config false; description "The VPN type that the multicast channel belongs to."; } leaf vpn-name { type string { length "1..31"; } config false; description "The L3VPN name of the multicast channel."; } leaf interface-name { type string { length "1..63"; } config false; description "Interface name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; config false; description "The report time of current report period."; } leaf total-recv-packets { type uint64; config false; description "The total received REP packets number in current report period."; } leaf total-loss-packets { type uint64; config false; description "The total lost REP packets number in current report period."; } leaf total-disorderd-packets { type uint64; config false; description "The total disordered REP packets number in current report period."; } leaf monitor-period { type uint32 { range "0..65535"; } units "s"; config false; description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; config false; description "The start time of current monitor period."; } leaf worst-recv-packets { type uint64; config false; description "The received REP packets number in the worst monitor period in current report period."; } leaf worst-loss-packets { type uint64; config false; description "The lost REP packets number in the worst monitor period in current report period."; } leaf worst-disorderd-packets { type uint64; config false; description "The disordered REP packets number in the worst monitor period in current report period."; } } // list out-telem-rep } // container out-telem-reps container bier-telem-reps { config false; description "List of EMDI BIER telemetry IPTV report state."; list bier-telem-rep { key "vr-id source-address group-address vpn-label sub-domain bsl si bfr-id slot-id"; description "EMDI BIER telemetry IPTV report state."; leaf vr-id { type uint32; description "Index of the VR that the channel belongs to."; } leaf source-address { type inet:ipv4-address-no-zone; description "IPv4 source adddress of the multicast channel."; } leaf group-address { type inet:ipv4-address-no-zone; description "IPv4 group adddress of the multicast channel."; } leaf vpn-label { type uint32 { range "0..1048575"; } description "The VPN label that the multicast channel belongs to."; } leaf sub-domain { type uint16 { range "0..255"; } description "The sub domain of the bier multicast."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Index of each detection message."; } leaf bfr-id { type uint16 { range "1..65535"; } description "Bit forwarding router (BFR) ID."; } leaf slot-id { type string { length "1..15"; } description "Slot name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; description "The report time of current report period."; } leaf total-recv-packets { type uint64; description "The total received RTP packets number in current report period."; } leaf total-loss-packets { type uint64; description "The total lost RTP packets number in current report period."; } leaf total-disorderd-packets { type uint64; description "The total disordered RTP packets number in current report period."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; description "The start time of current monitor period."; } leaf worst-recv-packets { type uint64; description "The received RTP packets number in the worst monitor period in current report period."; } leaf worst-loss-packets { type uint64; description "The lost RTP packets number in the worst monitor period in current report period."; } leaf worst-disorderd-packets { type uint64; description "The disordered RTP packets number in the worst monitor period in current report period."; } leaf vpn-name { type string { length "1..31"; } description "The L3VPN name of the multicast channel."; } } // list bier-telem-rep } // container bier-telem-reps container bier-telem-rtps { config false; description "List of EMDI telemetry RTP report state."; list bier-telem-rtp { key "vr-id source-address group-address vpn-label sub-domain bsl si bfr-id slot-id"; description "EMDI BIER telemetry RTP report state."; leaf vr-id { type uint32; description "Index of the VR that the channel belongs to."; } leaf source-address { type inet:ipv4-address-no-zone; description "IPv4 source adddress of the multicast channel."; } leaf group-address { type inet:ipv4-address-no-zone; description "IPv4 group adddress of the multicast channel."; } leaf vpn-label { type uint32 { range "0..1048575"; } description "The VPN label that the multicast channel belongs to."; } leaf sub-domain { type uint16 { range "0..255"; } description "The sub domain of the bier multicast."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Index of each detection message."; } leaf bfr-id { type uint16 { range "1..65535"; } description "Bit forwarding router (BFR) ID."; } leaf slot-id { type string { length "1..15"; } description "Slot name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; description "The report time of current report period."; } leaf recv-packets { type uint64; description "The received RTP packets number in current report period."; } leaf loss-packets { type uint64; description "The lost RTP packets number in current report period."; } leaf disorderd-packets { type uint64; description "The disordered RTP packets number in current report period."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; description "The start time of current monitor period."; } leaf vpn-name { type string { length "1..31"; } description "The L3VPN name of the multicast channel."; } } // list bier-telem-rtp } // container bier-telem-rtps container bier-out-telem-reps { config false; description "List of outbound EMDI telemetry IPTV report state."; list bier-out-telem-rep { key "vr-id source-address group-address vpn-label sub-domain bsl si bfr-id interface-name slot-id"; description "Outbound EMDI BIER telemetry IPTV report state."; leaf vr-id { type uint32; description "Index of the VR that the channel belongs to."; } leaf source-address { type inet:ipv4-address-no-zone; description "IPv4 source adddress of the multicast channel."; } leaf group-address { type inet:ipv4-address-no-zone; description "IPv4 group adddress of the multicast channel."; } leaf vpn-label { type uint32 { range "0..1048575"; } description "The VPN label that the multicast channel belongs to."; } leaf sub-domain { type uint16 { range "0..255"; } description "The sub domain of the bier multicast."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Index of each detection message."; } leaf bfr-id { type uint16 { range "1..65535"; } description "Bit forwarding router (BFR) ID."; } leaf interface-name { type string { length "1..63"; } description "Interface name of the multicast channel."; } leaf slot-id { type string { length "1..15"; } description "Slot name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; description "The report time of current report period."; } leaf total-recv-packets { type uint64; description "The total received REP packets number in current report period."; } leaf total-loss-packets { type uint64; description "The total lost REP packets number in current report period."; } leaf total-disorderd-packets { type uint64; description "The total disordered REP packets number in current report period."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; description "The start time of current monitor period."; } leaf worst-recv-packets { type uint64; description "The received REP packets number in the worst monitor period in current report period."; } leaf worst-loss-packets { type uint64; description "The lost REP packets number in the worst monitor period in current report period."; } leaf worst-disorderd-packets { type uint64; description "The disordered REP packets number in the worst monitor period in current report period."; } leaf vpn-name { type string { length "1..31"; } description "The L3VPN name of the multicast channel."; } } // list bier-out-telem-rep } // container bier-out-telem-reps container bier-out-telem-rtps { config false; description "List of outbound EMDI telemetry RTP report state."; list bier-out-telem-rtp { key "vr-id source-address group-address vpn-label sub-domain bsl si bfr-id interface-name slot-id"; description "Outbound EMDI BIER telemetry RTP report state."; leaf vr-id { type uint32; description "Index of the VR that the channel belongs to."; } leaf source-address { type inet:ipv4-address-no-zone; description "IPv4 source adddress of the multicast channel."; } leaf group-address { type inet:ipv4-address-no-zone; description "IPv4 group adddress of the multicast channel."; } leaf vpn-label { type uint32 { range "0..1048575"; } description "The VPN label that the multicast channel belongs to."; } leaf sub-domain { type uint16 { range "0..255"; } description "The sub domain of the bier multicast."; } leaf bsl { type enumeration { enum "bsl-64" { value 64; description "The bit string length is 64."; } enum "bsl-128" { value 128; description "The bit string length is 128."; } enum "bsl-256" { value 256; description "The bit string length is 256."; } } description "Bit string length."; } leaf si { type uint16 { range "0..255"; } description "Index of each detection message."; } leaf bfr-id { type uint16 { range "1..65535"; } description "Bit forwarding router (BFR) ID."; } leaf interface-name { type string { length "1..63"; } description "Interface name of the multicast channel."; } leaf slot-id { type string { length "1..15"; } description "Slot name of the multicast channel."; } leaf report-period { type uint32 { range "0..65535"; } units "s"; description "The EMDI statistics data report period."; } leaf report-time { type uint64; units "s"; description "The report time of current report period."; } leaf recv-packets { type uint64; description "The received RTP packets number in current report period."; } leaf loss-packets { type uint64; description "The lost RTP packets number in current report period."; } leaf disorderd-packets { type uint64; description "The disordered RTP packets number in current report period."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "The EMDI statistics data monitor period."; } leaf monitor-time { type uint64; units "s"; description "The start time of current monitor period."; } leaf vpn-name { type string { length "1..31"; } description "The L3VPN name of the multicast channel."; } } // list bier-out-telem-rtp } // container bier-out-telem-rtps } // container emdi rpc reset-statistic-history { ext:node-ref "/emdi/emdi-history-statistic-records/emdi-history-statistic-record"; description "Reset channel statistics."; input { leaf channel-name { type string { length "1..31"; } description "Channel name."; } } } // rpc reset-statistic-history rpc reset-outbound-history-statistic { ext:node-ref "/emdi/emdi-history-statistic-records/emdi-history-statistic-record"; description "Reset outbound channel statistics."; input { leaf slot-id { type string { length "1..15"; } mandatory true; description "Slot ID."; } leaf channel-name { type string { length "1..31"; } description "Channel name."; } } } // rpc reset-outbound-history-statistic rpc reset-bier-statistic-history { ext:node-ref "/emdi/bier-history-records/bier-history-record"; description "Reset BIER channel statistics."; input { leaf slot-id { type string { length "1..15"; } mandatory true; description "Slot ID."; } } } // rpc reset-bier-statistic-history rpc reset-bier-out-statistic-history { ext:node-ref "/emdi/bier-out-history-records/bier-out-history-record"; description "Reset outbound BIER channel statistics."; input { leaf slot-id { type string { length "1..15"; } mandatory true; description "Slot ID."; } } } // rpc reset-bier-out-statistic-history rpc filter-history-statistic { ext:node-ref "/emdi/emdi-history-statistic-records/emdi-history-statistic-record"; description "Filter EMDI history statistics."; input { leaf channel-name { type string { length "1..31"; } description "Channel name."; } leaf start-index { type uint16 { range "1..1000"; } description "Start index. This parameter is used only as a filter criterion and is not displayed."; } leaf end-index { type uint16 { range "1..1000"; } description "End index. It is only used as a filter criterion and is not displayed."; } leaf last-record-num { type uint8 { range "1..5"; } description "Query the latest specified number of detection records. This parameter is used only as a filter criterion and is not displayed."; } leaf direction { type enumeration { enum "inbound" { value 0; description "Inbound."; } enum "outbound" { value 1; description "Outbound."; } } description "Specify the direction of EMDI."; } leaf slot-id { type string { length "1..15"; } description "Slot ID."; } } output { container emdi-history-statistic-records { description "List of configure query historical EMDI detection information."; list emdi-history-statistic-record { key "channel-name record-index direction"; description "Configure query historical EMDI detection information."; leaf channel-name { type string { length "1..31"; } description "Channel name."; } leaf record-index { type uint16 { range "1..1000"; } description "Index of each detection message."; } leaf direction { type enumeration { enum "inbound" { value 0; description "Inbound."; } enum "outbound" { value 1; description "Outbound."; } } description "Specify the direction of EMDI."; } leaf record-time { type string { length "1..19"; } description "Time when each piece of information is detected."; } leaf monitor-period { type enumeration { enum "second-10s" { value 10; description "Monitor period is 10 second."; } enum "second-30s" { value 30; description "Monitor period is 30 second."; } enum "second-60s" { value 60; description "Monitor period is 60 second."; } } description "Detection period of each detection message."; } leaf monitor-status { type enumeration { enum "normal" { value 0; description "Status normal."; } enum "car-drop" { value 1; description "Status abnormal, NP drop."; } enum "rate-only" { value 2; description "Only the rate of video streams is detected."; } } description "Detection status of each detection message."; } leaf receive-packet { type uint64; description "Number of received packets."; } leaf rate-pps { type uint64; units "pps"; description "Rate (pps) at which packets are received."; } leaf rate-bps { type uint64; units "bit/s"; description "Rate (bit/s) at which packets are received."; } leaf lost-packet { type uint64; description "Number of lost packets on a channel."; } leaf disorder-packet { type uint64; description "Number of disordered packets."; } leaf rtp-lr { type uint32; units "0.001 %"; description "Packet loss rate of a channel."; } leaf rtp-ser { type uint32; units "0.001 %"; description "Check the channel disorder rate."; } leaf rtp-jitter { type string { length "1..9"; } description "Check the jitter of the channel."; } leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf interface-name { type string { length "1..63"; } description "Interface name."; } } // list emdi-history-statistic-record } // container emdi-history-statistic-records } } // rpc filter-history-statistic augment /ifm:ifm/ifm:interfaces/ifm:interface { description "Adds interface configuration to ifm interface model."; container emdi { description "Configure outbound channel in a interface."; leaf-list emdi-channel-name { when "../../ifm:type='Ethernet' or ../../ifm:type='GigabitEthernet' or ../../ifm:type='Eth-Trunk' or ../../ifm:type='FlexE'"; type leafref { path "/emdi:emdi/emdi:emdi-enable/emdi:emdi-channel-groups/emdi:emdi-channel-group/emdi:emdi-channels/emdi:emdi-channel/emdi:channel-name"; } must "/emdi:emdi/emdi:emdi-enable/emdi:outbound-channel-group-bind-lpu-groups/emdi:outbound-channel-group-bind-lpu-group/emdi:channel-group-name = /emdi:emdi/emdi:emdi-enable/emdi:emdi-channel-groups/emdi:emdi-channel-group[emdi:emdi-channels/emdi:emdi-channel/emdi:channel-name = current()]/emdi:channel-group-name"; max-elements 20; description "Configure name of a emdi channel bind in a interface."; } } // container emdi } } // module huawei-emdi
© 2023 YumaWorks, Inc. All rights reserved.