junos-rpc-evpn

Junos RPC YANG module for evpn command(s)

  • Version: 2019-01-01

    junos-rpc-evpn@2019-01-01


    
      module junos-rpc-evpn {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos/rpc/evpn";
    
        prefix evpn;
    
        import junos-common-types {
          prefix jt;
          revision-date "2019-01-01";
        }
    
        organization "Juniper Networks, Inc.";
    
        contact "yang-support@juniper.net";
    
        description
          "Junos RPC YANG module for evpn command(s)";
    
        revision "2019-01-01" {
          description "Junos: 21.3R1.9";
        }
    
    
        rpc get-evpn-instance-information {
          description
            "Show EVPN instance information";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance-name {
              type string;
              default "all";
              description
                "Name of EVPN instance";
            }
    
            leaf neighbor {
              type jt:ipaddr;
              description
                "Address of EVPN neighbor";
            }
    
            leaf esi {
              type string;
              description
                "Ethernet segment identifier";
            }
    
            leaf verbosity {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief version of output";
                }
                enum "extensive" {
                  value 1;
                  description
                    "Display extensive version of output";
                }
                enum "designated-forwarder" {
                  value 2;
                  description
                    "Display only designated forwarder information";
                }
                enum "backup-forwarder" {
                  value 3;
                  description
                    "Display only backup forwarder information";
                }
                enum "esi-info" {
                  value 4;
                  description
                    "Display only ESI information";
                }
                enum "neighbor-info" {
                  value 5;
                  description
                    "Display only neighbor information";
                }
              }
            }
    
            leaf get-evpn-instance-dci-information {
              type empty;
              description
                "Display dci information";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-instance-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-instance-information
    
        rpc get-evpn-database-information {
          description
            "Show EVPN internal MAC database";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf mac-address {
              type jt:mac-addr;
              description
                "Display a specifc MAC address";
            }
    
            leaf instance {
              type string;
              description
                "Display MAC address from a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display MAC address with a specific VLAN or VNI or ISID";
            }
    
            leaf esi {
              type string;
              description
                "Ethernet segment identifier";
            }
    
            choice origin-choice {
              leaf neighbor {
                type jt:ipaddr;
                description
                  "Display MAC address learned from a specific neighbor";
              }
              leaf interface {
                type string;
                description
                  "Display MAC address learned from a specific interface";
              }
              leaf origin {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Display local MAC address";
                  }
                  enum "remote" {
                    value 1;
                    description
                      "Display remote MAC address";
                  }
                  enum "dci-remote" {
                    value 2;
                    description
                      "Display MAC addresses received from DCI";
                  }
                }
                description
                  "Display MAC address with a specific origin";
              }
            }  // choice origin-choice
    
            leaf state {
              type enumeration {
                enum "default-gateway" {
                  value 0;
                  description
                    "Display default gateway MAC address";
                }
                enum "static" {
                  value 1;
                  description
                    "Display static MAC address";
                }
                enum "pinned" {
                  value 2;
                  description
                    "Display pinned MAC address";
                }
                enum "duplicate" {
                  value 3;
                  description
                    "Display duplicate MAC address";
                }
                enum "dci-adv" {
                  value 4;
                  description
                    "Display MAC advertised to DCI";
                }
                enum "dc-adv" {
                  value 5;
                  description
                    "Display MAC advertised to DC";
                }
              }
              description
                "Display MAC address with a specific state";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-database-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-database-information
    
        rpc get-evpn-p2mp-information {
          description
            "Show EVPN p2mp information";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance {
              type string;
              description
                "Display p2mp information for a specific EVPN instance";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-p2mp-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-p2mp-information
    
        rpc get-evpn-l3-context-information {
          description
            "Show EVPN L3 context information";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf l3-context-name {
              type string;
              default "all";
              description
                "Name of EVPN L3 context";
            }
    
            leaf verbosity {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief version of output";
                }
                enum "extensive" {
                  value 1;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-l3-context-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-l3-context-information
    
        rpc get-evpn-ip-prefix-database-information {
          description
            "Show EVPN internal IP prefix database";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf l3-context {
              type string;
              description
                "Display IP prefix from a specific EVPN L3 context";
            }
    
            leaf family {
              type enumeration {
                enum "inet" {
                  value 0;
                  description
                    "Display IPv4 prefixes";
                }
                enum "inet6" {
                  value 1;
                  description
                    "Display IPv6 prefixes";
                }
              }
              description
                "Display IP prefix with a specific address family";
            }
    
            leaf direction {
              type enumeration {
                enum "imported" {
                  value 0;
                  description
                    "Display imported EVPN IP prefixes";
                }
                enum "exported" {
                  value 1;
                  description
                    "Display exported IP prefixes";
                }
              }
              description
                "Display IP prefix with a specific import/export direction";
            }
    
            leaf prefix {
              type jt:ipprefix;
              description
                "Display a specifc IP prefix";
            }
    
            leaf ethernet-tag {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "0 .. 16777214";
                }
              }
              description
                "Display IP prefix with a specific ethernet tag";
            }
    
            leaf gateway {
              type jt:ipaddr;
              description
                "Display IP prefix with a specific overlay gateway address";
            }
    
            leaf esi {
              type string;
              description
                "Display IP prefix with a specific overlay ESI";
            }
    
            leaf nexthop {
              type jt:ipaddr;
              description
                "Display IP prefix with a specific underlay nexthop";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-ip-prefix-database-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-ip-prefix-database-information
    
        rpc get-evpn-multicast-snooping-status {
          description "Show general status";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-multicast-snooping-status;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-multicast-snooping-status
    
        rpc get-evpn-multicast-snooping-ar-nexthops-data {
          description
            "Show next-hops information";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf index {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Display for a specific nexthop id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-multicast-snooping-ar-nexthops-data;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-multicast-snooping-ar-nexthops-data
    
        rpc get-evpn-multicast-snooping-ar-mh-peers-data {
          description "Show multi-homed peers";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-multicast-snooping-ar-mh-peers-data;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-multicast-snooping-ar-mh-peers-data
    
        rpc get-evpn-multicast-snooping-ar-replicators-data {
          description "Show replicators";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-multicast-snooping-ar-replicators-data;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-multicast-snooping-ar-replicators-data
    
        rpc get-evpn-multicast-next-hops-information {
          description
            "Show EVPN multicast-snooping nexthops table";
          input {
            leaf verbosity_level {
              type enumeration {
                enum "terse" {
                  value 0;
                  description
                    "Display terse output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output (default)";
                }
                enum "detail" {
                  value 2;
                  description
                    "Display detailed output";
                }
              }
              default "brief";
            }
    
            leaf identifier {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "ID of next hop";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multicast-next-hops-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-multicast-next-hops-information
    
        rpc get-evpn-igmp-snooping-proxy-information {
          description
            "Show EVPN igmp snooping proxy";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf group {
              type jt:ipaddr;
              description "Group address";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-igmp-snooping-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-igmp-snooping-proxy-information
    
        rpc get-evpn-igmp-snooping-database-information {
          description
            "Show EVPN igmp snooping database";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf esi {
              type string;
              description
                "Ethernet segment identifier";
            }
    
            leaf group {
              type jt:ipaddr;
              description "Group address";
            }
    
            leaf interface {
              type string;
              description
                "Display for a specific interface";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-igmp-snooping-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-igmp-snooping-database-information
    
        rpc get-evpn-mld-snooping-proxy-information {
          description
            "Show EVPN mld snooping proxy";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf group {
              type jt:ipaddr;
              description "Group address";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-mld-snooping-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mld-snooping-proxy-information
    
        rpc get-evpn-mld-snooping-database-information {
          description
            "Show EVPN mld snooping database";
          input {
            leaf instance {
              type string;
              description
                "Display for a specific EVPN instance";
            }
    
            leaf l2-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 16777214";
                }
              }
              description
                "Display for a specific VLAN or VNI or ISID";
            }
    
            leaf esi {
              type string;
              description
                "Ethernet segment identifier";
            }
    
            leaf group {
              type jt:ipaddr;
              description "Group address";
            }
    
            leaf interface {
              type string;
              description
                "Display for a specific interface";
            }
    
            leaf verbosity {
              type enumeration {
                enum "extensive" {
                  value 0;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-mld-snooping-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mld-snooping-database-information
    
        rpc get-evpn-oism-information {
          description
            "Show EVPN OISM information";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf l3-context {
              type string;
              description
                "Name of specific EVPN L3 context";
            }
    
            leaf verbosity {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief version of output";
                }
                enum "extensive" {
                  value 1;
                  description
                    "Display extensive version of output";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-oism-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-oism-information
    
        rpc get-evpn-vpws-information {
          description
            "Show EVPN VPWS instance information";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance-name {
              type string;
              default "all";
              description
                "Name of EVPN VPWS instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-vpws-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-vpws-information
    
        rpc get-evpn-mac-ip-table {
          description
            "Show IP table for EVPN instances";
          input {
            leaf logical-system {
              type string;
              default "all";
              description
                "Name of logical system, or 'all'";
            }
    
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified instance";
            }
    
            leaf address {
              type jt:mac-addr;
              default "all";
              description "MAC address";
            }
    
            leaf show-choice {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
                enum "count" {
                  value 3;
                  description
                    "Display count only";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-rtb-mac-ip-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mac-ip-table
    
        rpc get-evpn-mac-ip-table-kernel {
          description
            "Entries present in kernel";
          input {
            leaf verbosity {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-rtb-mac-ip-kernel-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mac-ip-table-kernel
    
        rpc get-evpn-mac-ip-table-kernel-ipv4 {
          description
            "IPv4 entries present in kernel";
          input {
            leaf bd-id {
              type string;
              description
                "Display IP address under particular bd-id";
            }
    
            leaf ipv4-addr {
              type jt:ipv4addr;
              default "all";
              description
                "Display kernel information for ip";
            }
    
            leaf verbosity {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-rtb-mac-ip-kernel-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mac-ip-table-kernel-ipv4
    
        rpc get-evpn-mac-ip-table-kernel-ipv6 {
          description
            "IPv6 entries present in kernel";
          input {
            leaf bd-id {
              type string;
              description
                "Display IP address under particular bd-id";
            }
    
            leaf ipv6-addr {
              type jt:ipv6addr;
              default "all";
              description
                "Display kernel information for ip";
            }
    
            leaf verbosity {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-rtb-mac-ip-kernel-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mac-ip-table-kernel-ipv6
    
        rpc get-evpn-mac-table {
          description
            "Show media access control table";
          input {
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified vpls";
            }
    
            leaf logical-system {
              type string;
              default "all";
              description
                "Name of logical system, or 'all'";
            }
    
            leaf vlan-id {
              type string;
              description
                "Display MAC address learned on a specified VLAN";
            }
    
            leaf isid {
              type string;
              description
                "Display Information for specified ISID or all ISID(s)";
            }
    
            leaf address {
              type jt:mac-addr;
              default "all";
              description "MAC address";
            }
    
            leaf show-choice {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
                enum "count" {
                  value 3;
                  description
                    "Display count only";
                }
                enum "age" {
                  value 4;
                  description
                    "Display age of a single mac-address";
                }
                enum "summary" {
                  value 5;
                  description
                    "Display summary output";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-rtb-macdb;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mac-table
    
        rpc get-evpn-interface-mac-table {
          description
            "Display MAC table for a specified interface";
          input {
            choice interface-choice {
              leaf interface-name {
                type string;
                description
                  "Name of interface for which to display table";
              }
              leaf all {
                type empty;
                description
                  "Display MAC table for all the interfaces";
              }
            }  // choice interface-choice
    
            leaf show-choice {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
                enum "count" {
                  value 3;
                  description
                    "Display count only";
                }
                enum "age" {
                  value 4;
                  description
                    "Display age of a single mac-address";
                }
                enum "summary" {
                  value 5;
                  description
                    "Display summary output";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-interface-macdb;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-interface-mac-table
    
        rpc get-evpn-flood-information {
          description
            "Show EVPN flooding information";
          input {
            leaf logical-system {
              type string;
              default "all";
              description
                "Name of logical system, or 'all'";
            }
    
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified vpls";
            }
    
            leaf verbosity {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
              }
              default "detail";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-instance;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-flood-information
    
        rpc get-evpn-ce-flood-route-information {
          description
            "Show customer edge flood route";
          input {
            leaf interface {
              type union {
                type jt:interface-unit;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "Interface for which to show CE flood route";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-ce-flood-route-information
    
        rpc get-evpn-all-flood-route-information {
          description
            "Show route for flooding traffic from customer edge router";
          input {
            leaf logical-system {
              type string;
              description
                "Name of logical system";
            }
    
            leaf instance {
              type string;
              mandatory true;
              description
                "Display information for a specified vpls";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-all-flood-route-information
    
        rpc get-evpn-all-ce-flood-route-information {
          description
            "Show route for flooding traffic to all CE routers";
          input {
            leaf logical-system {
              type string;
              description
                "Name of logical system";
            }
    
            leaf instance {
              type string;
              mandatory true;
              description
                "Display information for a specified vpls";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-all-ce-flood-route-information
    
        rpc get-evpn-re-flood-route-information {
          description
            "Show route for Routing Engine flooding to all interfaces";
          input {
            leaf logical-system {
              type string;
              description
                "Name of logical system";
            }
    
            leaf instance {
              type string;
              mandatory true;
              description
                "Display information for a specified vpls";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-re-flood-route-information
    
        rpc get-evpn-mlp-flood-route-information {
          description
            "Show route for flooding traffic to MAC learning chips";
          input {
            leaf logical-system {
              type string;
              description
                "Name of logical system";
            }
    
            leaf instance {
              type string;
              mandatory true;
              description
                "Display information for a specified vpls";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-mlp-flood-route-information
    
        rpc get-evpn-alt-root-flood-route-information {
          description
            "Show STP alt-root flooding route used for interface";
          input {
            leaf interface {
              type union {
                type jt:interface-unit;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "Interface for which to show alternate-root flooding route";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-route-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-alt-root-flood-route-information
    
        rpc get-evpn-event-queue-information {
          description
            "Show queue of pending EVPN flood events";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2ald-vpls-flood-event-queue;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-event-queue-information
    
        rpc get-evpn-arp-table {
          description
            "Show ARP entries associated with MACs learned";
          input {
            leaf logical-system {
              type string;
              default "all";
              description
                "Name of logical system, or 'all'";
            }
    
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified vpls";
            }
    
            leaf address {
              type jt:mac-addr;
              default "all";
              description "MAC address";
            }
    
            leaf show-choice {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
                enum "count" {
                  value 3;
                  description
                    "Display count only";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2rtb-evpn-arp-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-arp-table
    
        rpc get-evpn-nd-table {
          description
            "Show ND entries associated with MACs learned";
          input {
            leaf logical-system {
              type string;
              default "all";
              description
                "Name of logical system, or 'all'";
            }
    
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified vpls";
            }
    
            leaf address {
              type jt:mac-addr;
              default "all";
              description "MAC address";
            }
    
            leaf show-choice {
              type enumeration {
                enum "detail" {
                  value 0;
                  description
                    "Display detailed output";
                }
                enum "brief" {
                  value 1;
                  description
                    "Display brief output";
                }
                enum "extensive" {
                  value 2;
                  description
                    "Display extensive output";
                }
                enum "count" {
                  value 3;
                  description
                    "Display count only";
                }
              }
              default "brief";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2rtb-evpn-nd-db;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-nd-table
    
        rpc get-evpn-peer-gateway-mac {
          description
            "Show MAC addresses installed as gateway MACs";
          input {
            leaf instance {
              type string;
              default "all";
              description
                "Display information for a specified instance";
            }
    
            leaf address {
              type jt:mac-addr;
              default "all";
              description "MAC address";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml l2rtb-peer-gateway-macdb;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-peer-gateway-mac
    
        rpc get-evpn-statistics-information {
          description "Show EVPN statistics";
          input {
            leaf instance {
              type string;
              mandatory true;
              description
                "Name of EVPN instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml evpn-statistics-information;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc get-evpn-statistics-information
    
        grouping command-forwarding {
          choice chassis-selector {
            leaf all-chassis {
              type empty;
              description "All chassis";
            }
            leaf all-lcc {
              type empty;
              description "All LCC chassis";
            }
            leaf scc {
              type empty;
              description "SCC";
            }
            leaf sfc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "SFC";
            }
            leaf lcc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "Specific LCC";
            }
            leaf node {
              type string;
              description "Specific node";
            }
            leaf bsys {
              type empty;
              description "Base system";
            }
            leaf gnf {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 10";
                }
              }
              description
                "Specific guest network function";
            }
            leaf all-gnfs {
              type empty;
              description
                "All guest network functions";
            }
            leaf all-system {
              type empty;
              description
                "All system (BSYS and GNFs)";
            }
            leaf server {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              description "Specific server slot";
            }
            leaf all-servers {
              type empty;
              description "All servers";
            }
            leaf vnf {
              type string;
              description
                "Specific virtual-network-function";
            }
            leaf all-vnfs {
              type empty;
              description
                "All virtual-network-functions";
            }
          }  // choice chassis-selector
    
          choice re-selector {
            leaf re0 {
              type empty;
              description "RE0";
            }
            leaf re1 {
              type empty;
              description "RE1";
            }
            leaf routing-engine {
              type enumeration {
                enum "local" {
                  value 0;
                  description
                    "Local routing engine";
                }
                enum "other" {
                  value 1;
                  description
                    "Other routing engine";
                }
                enum "master" {
                  value 2;
                  description
                    "Master routing engine";
                }
                enum "backup" {
                  value 3;
                  description
                    "Backup routing engine";
                }
                enum "both" {
                  value 4;
                  description
                    "Both routing engines";
                }
              }
              description
                "Specific routing engine";
            }
          }  // choice re-selector
    
          choice lr-selector {
            leaf logical-system {
              type string;
              description
                "Name of logical system, or 'all'";
            }
          }  // choice lr-selector
    
          choice tenant-selector {
            leaf tenant {
              type string;
              description
                "Name of tenant, or 'all'";
            }
          }  // choice tenant-selector
    
          choice vc-selector {
            leaf local {
              type empty;
              description
                "Local virtual chassis member";
            }
            leaf all-members {
              type empty;
              description
                "All virtual chassis members";
            }
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Specific virtual chassis member";
            }
          }  // choice vc-selector
        }  // grouping command-forwarding
      }  // module junos-rpc-evpn
    

© 2023 YumaWorks, Inc. All rights reserved.