03-04-2020 08:31 AM
Hello All,
I'm interested to know if anyone is running telegraf with cisco_telemetry_gnmi plugin. I run into multiple issues (not much docs available online) for which I might open separate discussion later.
Currently I would like to know if anyone is using openconfig models to define data which should be streamed. I tested XR native models which work fine, but for openconfig I can only see Sensor Path State: Not Resolved.
example sensors configured in telegraf config (i'm using dial-in):
origin = "openconfig-bgp" path = "/bgp/neighbors/neighbor/state" origin = "openconfig-bgp" path = "/bgp/neighbors/neighbor/afi-safis/afi-safi/state"
i verified paths ^ with pyang tools against models in https://github.com/YangModels/yang/tree/master/vendor/cisco/xr/663 and I also downloaded models from device itself and run same test, all showed that path should be ok.
but same sensor path state is shown if I configure sensor via cli on device:
RP/0/RP0/CPU0:r3-xr663#sh run telemetry model-driven telemetry model-driven destination-group COLLECT address-family ipv4 11.255.0.100 port 50000 encoding self-describing-gpb protocol udp packetsize 1000 ! ! sensor-group OC-BGP sensor-path openconfig-bgp:bgp/neighbors/neighbor/state ! subscription SUBS sensor-group-id OC-BGP sample-interval 30000 ! ! RP/0/RP0/CPU0:r3-xr663#show telemetry model-driven subscription SUBS internal Subscription: SUBS ------------- State: NA Sensor groups: Id: OC-BGP Sample Interval: 30000 ms Sensor Path: openconfig-bgp:bgp/neighbors/neighbor/state Sensor Path State: Not Resolved
am I doing something wrong/missing something? or openconfig models are not supported yet?
thanks
Solved! Go to Solution.
03-05-2020 12:28 PM
I double checked and openconfig-bgp has been deprecated since 6.4/6.5, instead you need to use openconfig-network-instance or Cisco-IOS-XR-ipv4-bgp-cfg.
Examples for openconfig-network-instance model https://github.com/nleiva/xroc/blob/master/example/ipv6/bgp/README.md https://developer.cisco.com/codeexchange/github/repo/nleiva/xroc/ Examples for Cisco-IOS-XR-ipv4-bgp-cfg model https://community.cisco.com/t5/yang-development-kit-ydk/sample-apps-for-xr-bgp-using-crud-gnmi/td-p/3905372 https://community.cisco.com/t5/yang-development-kit-ydk/bd-p/5475j-disc-dev-net-ydk
CSCvs20355
openconfig-bgp yang model was deprecated since r641/651 (DDTS CSCvh11352)
<B>Symptom:</B>
Programmability Configuration Guide for Cisco ASR 9000 for 6.4, 6.5, 6.6 versions include examples where openconfig-bgp yang model is used which are not true for these versions.
Place#1
###################
Using standard YANG tools, get the configuration using the NETCONF <get-config> operation in YANG format.
<get-config>
<source>
<running/>
</source>
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<bgp xmlns="http://openconfig.net/yang/bgp">
</get-config>
###################
comment: <bgp xmlns="http://openconfig.net/yang/bgp"> means that openconfig-bgp yang model is used. However it is not supported in this version.
Place#2
########################
Change the configuration <edit-config> operation.
<edit-config>
<target>
<candidate/>
</target>
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<bgp xmlns="http://openconfig.net/yang/bgp">
<global>
<config>
<as xc:operation="delete">1000</as>
</config>
</global>
</bgp>
</config>
</edit-config>
#########################
comment: <bgp xmlns="http://openconfig.net/yang/bgp"> means that openconfig-bgp yang model is used. However it is not supported in this version.
These examples should be removed OR modified for openconfig-network-instance yang model
The same situation is for ncs540, ncs5000, ncs5500, crs and xrv9000 platforms
<B>Conditions:</B>
<B>Workaround:</B>
<B>Further Problem Description:</B>
03-04-2020 10:41 AM
You can use the below guide to check on the router if the yang model exists in the software.
Sam
03-04-2020 11:35 PM
Hi @smilstea ,
thanks for the link, but in my original message I mentioned that I already check path defined in telegraf config against yang/vendor/cisco/xr/663 repo and also models downloaded directly from router, so I assume configured path should be fine.
------------- State: ACTIVE Sensor groups: Id: GNMI__12475398976298307469_0 Sample Interval: 30000 ms Sensor Path: openconfig-bgp:bgp/neighbors/neighbor/state Sensor Path State: Not Resolved Id: GNMI__12475398976298307469_1 Sample Interval: 30000 ms Sensor Path: Cisco-IOS-XR-clns-isis-oper:isis/instances/instance/neighbor-summaries Sensor Path State: Resolved
[r3-xr663:/pkg/yang]$ ls -l | egrep "(openconfig-bgp|clns-isis-oper)\.yang"
lrwxrwxrwx. 1 root root 87 Feb 10 17:50 Cisco-IOS-XR-clns-isis-oper.yang -> /opt/cisco/XR/packages/xrv9k-isis-2.2.0.0-r663/rp/yang/Cisco-IOS-XR-clns-isis-oper.yang
lrwxrwxrwx. 1 root root 74 Feb 10 17:50 openconfig-bgp.yang -> /opt/cisco/XR/packages/xrv9k-mgbl-3.0.0.0-r663/rp/yang/openconfig-bgp.yan
bgp oc models downloaded from router:
# ls -lh total 140K -rwxr-xr-x 1 root root 13K Mar 4 15:59 openconfig-bgp-common-multiprotocol.yang -rwxr-xr-x 1 root root 4,8K Mar 4 15:59 openconfig-bgp-common-structure.yang -rwxr-xr-x 1 root root 18K Mar 4 15:59 openconfig-bgp-common.yang -rwxr-xr-x 1 root root 11K Mar 4 15:59 openconfig-bgp-global.yang -rwxr-xr-x 1 root root 18K Mar 4 15:59 openconfig-bgp-neighbor.yang -rwxr-xr-x 1 root root 6,6K Mar 4 15:59 openconfig-bgp-peer-group.yang -rwxr-xr-x 1 root root 29K Mar 4 15:59 openconfig-bgp-policy.yang -rwxr-xr-x 1 root root 18K Mar 4 15:59 openconfig-bgp-types.yang -rwxr-xr-x 1 root root 3,3K Mar 4 15:59 openconfig-bgp.yang
path checked with pyang:
# pyang -f tree openconfig-bgp.yang --tree-path=/bgp/neighbors/neighbor/state openconfig-bgp.yang:11: error: module "openconfig-extensions" not found in search path openconfig-bgp-common.yang:9: error: module "openconfig-routing-policy" not found in search path openconfig-bgp-neighbor.yang:12: error: module "openconfig-yang-types" not found in search path module: openconfig-bgp +--rw bgp +--rw neighbors +--rw neighbor* [neighbor-address] +--ro state +--ro peer-group? -> ../../../../peer-groups/peer-group/peer-group-name +--ro neighbor-address? oc-inet:ip-address +--ro enabled? boolean +--ro peer-as? oc-inet:as-number +--ro local-as? oc-inet:as-number +--ro peer-type? oc-bgp-types:peer-type +--ro auth-password? oc-types:routing-password +--ro remove-private-as? oc-bgp-types:remove-private-as-option +--ro route-flap-damping? boolean +--ro send-community? oc-bgp-types:community-type +--ro description? string +--ro session-state? enumeration +--ro last-established? oc-types:timeticks64 +--ro established-transitions? oc-yang:counter64 +--ro supported-capabilities* identityref +--ro messages | +--ro sent | | +--ro UPDATE? uint64 | | +--ro NOTIFICATION? uint64 | +--ro received | +--ro UPDATE? uint64 | +--ro NOTIFICATION? uint64 +--ro queues | +--ro input? uint32 | +--ro output? uint32 +--ro dynamically-configured? boolean
i'm not really sure what to check next.
03-05-2020 10:53 AM
Here is an example, the formatting is wonky for the cat output though so ill try to snip it down and highlight the values:
RP/0/RSP0/CPU0:ASR9010-B#show telemetry model-driven subscription MPLS
Thu Mar 5 12:39:39.397 CST
Subscription: MPLS
-------------
State: NOT ACTIVE
Sensor groups:
Id: MPLS
Sample Interval: 30000 ms
Sensor Path: openconfig-mpls:mpls/lsps/constrained-path
Sensor Path State: Resolved
Destination Groups:
Group Id: CALO
Destination IP: 172.18.104.30
Destination Port: 57500
Encoding: self-describing-gpb
Transport: tcp
State: Not Active
No TLS
Collection Groups:
------------------
No active collection groups
RP/0/RSP0/CPU0:ASR9010-B#run
Thu Mar 5 12:39:45.547 CST
[xr-vm_node0_RSP0_CPU0:~]$cat /pkg/yang/openconfig-mpls.yang
module openconfig-mpls {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/mpls";
prefix "mpls";
// import some basic types
import openconfig-mpls-types { prefix mplst; }
import openconfig-mpls-rsvp { prefix rsvp; }
import openconfig-mpls-sr { prefix sr; }
import openconfig-mpls-ldp { prefix ldp; }
import openconfig-types { prefix oc-types; }
import openconfig-interfaces { prefix ocif; }
import openconfig-extensions { prefix oc-ext; }
// include submodules
include openconfig-mpls-te;
include openconfig-mpls-igp;
include openconfig-mpls-static;
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
netopenconfig@googlegroups.com";
description
"This module provides data definitions for configuration of
Multiprotocol Label Switching (MPLS) and associated protocols for
signaling and traffic engineering.
RFC 3031: Multiprotocol Label Switching Architecture
The MPLS / TE data model consists of several modules and
submodules as shown below. The top-level MPLS module describes
the overall framework. Three types of LSPs are supported:
i) traffic-engineered (or constrained-path)
ii) IGP-congruent (LSPs that follow the IGP path)
iii) static LSPs which are not signaled
The structure of each of these LSP configurations is defined in
corresponding submodules. Companion modules define the relevant
configuration and operational data specific to key signaling
protocols used in operational practice.
+-------+
+---------------->| MPLS |<--------------+
| +-------+ |
| ^ |
| | |
+----+-----+ +--------+-------+ +-----+-----+
| TE LSPs | | IGP-based LSPs | |static LSPs|
| | | | | |
+----------+ +----------------+ +-----------+
^ ^ ^ ^
| +----------------+ | +--------+
| | | |
| +------+ +-+---+-+ +--+--+
+---+ RSVP | |SEGMENT| | LDP |
+------+ |ROUTING| +-----+
+-------+
";
oc-ext:openconfig-version "0.2.1";
revision "2015-11-05" {
description
"Initial public release of MPLS models";
reference "0.2.1";
}
revision "2015-10-14" {
description
"Work in progress";
reference "0.2.0";
}
// feature statements
// identity statements
// grouping statements
grouping mpls-admin-group_config {
description
"configuration data for MPLS link admin groups";
leaf admin-group-name {
type string;
description
"name for mpls admin-group";
}
leaf bit-position {
type uint32;
description
"bit-position value for mpls admin-group. The value
for the admin group is an integer that represents one
of the bit positions in the admin-group bitmask. Values
between 0 and 31 are interpreted as the original limit
of 32 admin groups. Values >=32 are interpreted as
extended admin group values as per RFC7308.";
}
}
grouping mpls-admin-groups-top {
description
"top-level mpls admin-groups config
and state containers";
container mpls-admin-groups {
description
"Top-level container for admin-groups configuration
and state";
list admin-group {
key admin-group-name;
description
"configuration of value to name mapping
for mpls affinities/admin-groups";
leaf admin-group-name {
type leafref {
path "../mpls:config/mpls:admin-group-name";
}
description
"name for mpls admin-group";
}
<snip>
container mpls {
presence "
top-level container for MPLS config and operational
state";
description
"Anchor point for mpls configuration and operational
data";
container global {
// entropy label support, label ranges will be added here.
description
"general mpls configuration applicable to any
type of LSP and signaling protocol - label ranges,
entropy label supportmay be added here";
uses mpls-global-top;
uses mpls-interfaces-top;
}
container te-global-attributes {
description
"traffic-engineering global attributes";
uses mpls-te-srlg-top;
uses mpls-te-igp-flooding-bandwidth;
uses mpls-admin-groups-top;
uses mpls-te-lsp-timers;
}
container te-interface-attributes {
description
"traffic engineering attributes specific
for interfaces";
uses te-interface-attributes-top;
}
container signaling-protocols {
description
"top-level signaling protocol configuration";
uses rsvp:rsvp-global;
uses sr:sr-global;
uses ldp:ldp-global;
}
container lsps {
description
"LSP definitions and configuration";
container constrained-path {
description
"traffic-engineered LSPs supporting different
path computation and signaling methods";
uses explicit-paths_top;
uses te-tunnels_top;
}
container unconstrained-path {
description
"LSPs that use the IGP-determined path, i.e., non
traffic-engineered, or non constrained-path";
uses igp-lsp-common;
uses igp-lsp-setup;
}
container static-lsps {
description
"statically configured LSPs, without dynamic
signaling";
uses static-lsp-main;
}
}
}
// augment statements
// rpc statements
// notification statements
}
[xr-vm_node0_RSP0_CPU0:~]$
What I did notice when researching is that for instance you can have a sensor-path like below:
Sensor Path: openconfig-mpls:mpls/lsps/constrained-path/tunnel
Sensor Path State: Resolved
The use statement as as defined in the beginning of the file is that we can get functions from other mpls yang models.
Here is a snippet from the mpls-te yang model.
grouping te-tunnels_top {
description
"Top level grouping for TE tunnels";
list tunnel {
key "name type";
description
"List of TE tunnels";
leaf name {
type leafref {
path "../config/name";
require-instance true;
}
description
"The tunnel name";
}
leaf type {
type leafref {
path "../config/type";
require-instance true;
}
description
"The tunnel type, p2p or p2mp.";
}
container config {
description
"Configuration parameters related to TE tunnels:";
uses te-global-tunnel_config;
}
container state {
config false;
description
"State parameters related to TE tunnels";
uses te-global-tunnel_config;
uses te-tunnel_state;
}
uses te-tunnel-bandwidth_top;
uses te-tunnel-p2p_top;
// TODO - add the p2mp configuration
}
}
Sam
03-05-2020 12:06 PM
hellos @smilstea ,
thanks for trying to help.
but to be honest I got lost in your last reply, not sure what were you trying to say.
As I'm mentioned I'm pretty confident that defined sensor path is correct but I have no idea why xrv9k is not resolving it.
I tried to used mpls sensor path which you used in your example with GNMI plugin but result was the same Not Resolved
Subscription: GNMI__2212871179572032173 ------------- State: ACTIVE Sensor groups: Id: GNMI__2212871179572032173_0 Sample Interval: 30000 ms Sensor Path: openconfig-bgp:bgp/neighbors/neighbor/state Sensor Path State: Not Resolved Id: GNMI__2212871179572032173_1 Sample Interval: 30000 ms Sensor Path: openconfig-mpls:mpls/lsps/constrained-path Sensor Path State: Not Resolved
trying dial-out configuration did not help either:
RP/0/RP0/CPU0:r3-xr663#sh run telemetry model-driven Thu Mar 5 19:52:57.468 UTC telemetry model-driven destination-group COLLECT address-family ipv4 11.255.0.100 port 50000 encoding self-describing-gpb protocol udp ! sensor-group OC-MPLS sensor-path openconfig-mpls:mpls/lsps/constrained-path ! subscription SUBS sensor-group-id OC-MPLS sample-interval 30000 ! RP/0/RP0/CPU0:r3-xr663#sh telemetry model-driven subscription SUBS Thu Mar 5 19:53:08.329 UTC Subscription: SUBS ------------- State: NA Sensor groups: Id: OC-MPLS Sample Interval: 30000 ms Sensor Path: openconfig-mpls:mpls/lsps/constrained-path Sensor Path State: Not Resolved
and downloading mpls oc models directly from router and checking path with pyang:
$ pyang -f tree openconfig-mpls.yang --tree-path=/mpls/lsps/constrained-path --tree-depth=4 openconfig-mpls.yang:18: error: module "openconfig-segment-routing" not found in search path module: openconfig-mpls +--rw mpls +--rw lsps +--rw constrained-path +--rw named-explicit-paths | ... +--rw tunnels ...
everything looks fine, except sensor path is still Not Resolved
03-05-2020 12:28 PM
I double checked and openconfig-bgp has been deprecated since 6.4/6.5, instead you need to use openconfig-network-instance or Cisco-IOS-XR-ipv4-bgp-cfg.
Examples for openconfig-network-instance model https://github.com/nleiva/xroc/blob/master/example/ipv6/bgp/README.md https://developer.cisco.com/codeexchange/github/repo/nleiva/xroc/ Examples for Cisco-IOS-XR-ipv4-bgp-cfg model https://community.cisco.com/t5/yang-development-kit-ydk/sample-apps-for-xr-bgp-using-crud-gnmi/td-p/3905372 https://community.cisco.com/t5/yang-development-kit-ydk/bd-p/5475j-disc-dev-net-ydk
CSCvs20355
openconfig-bgp yang model was deprecated since r641/651 (DDTS CSCvh11352)
<B>Symptom:</B>
Programmability Configuration Guide for Cisco ASR 9000 for 6.4, 6.5, 6.6 versions include examples where openconfig-bgp yang model is used which are not true for these versions.
Place#1
###################
Using standard YANG tools, get the configuration using the NETCONF <get-config> operation in YANG format.
<get-config>
<source>
<running/>
</source>
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<bgp xmlns="http://openconfig.net/yang/bgp">
</get-config>
###################
comment: <bgp xmlns="http://openconfig.net/yang/bgp"> means that openconfig-bgp yang model is used. However it is not supported in this version.
Place#2
########################
Change the configuration <edit-config> operation.
<edit-config>
<target>
<candidate/>
</target>
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<bgp xmlns="http://openconfig.net/yang/bgp">
<global>
<config>
<as xc:operation="delete">1000</as>
</config>
</global>
</bgp>
</config>
</edit-config>
#########################
comment: <bgp xmlns="http://openconfig.net/yang/bgp"> means that openconfig-bgp yang model is used. However it is not supported in this version.
These examples should be removed OR modified for openconfig-network-instance yang model
The same situation is for ncs540, ncs5000, ncs5500, crs and xrv9000 platforms
<B>Conditions:</B>
<B>Workaround:</B>
<B>Further Problem Description:</B>
03-05-2020 03:49 PM
thanks @smilstea using openconfig-network-instance.yang solved the problem
$ pyang -f tree openconfig-network-instance.yang --tree-path=/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/state module: openconfig-network-instance +--rw network-instances +--rw network-instance* [name] +--rw protocols +--rw protocol* [identifier name] +--rw bgp +--rw neighbors +--rw neighbor* [neighbor-address] +--rw afi-safis +--rw afi-safi* [afi-safi-name] +--ro state +--ro afi-safi-name? identityref +--ro enabled? boolean +--ro active? boolean +--ro prefixes +--ro received? uint32 +--ro sent? uint32 +--ro installed? uint32
telegraf:
[[inputs.cisco_telemetry_gnmi.subscription]] ## Name of the measurement that will be emitted name = "oc_net_bgp" origin = "openconfig-network-instance" path = "/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/state"
router:
RP/0/RP0/CPU0:r3-xr663#show telemetry model-driven subscription GNMI__12325868359630825145 Subscription: GNMI__12325868359630825145 ------------- State: ACTIVE Sensor groups: Id: GNMI__12325868359630825145_0 Sample Interval: 30000 ms Sensor Path: openconfig-network-instance:network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/state Sensor Path State: Resolved
data in influxdb:
> select * from oc_net_bgp limit 10 name: oc_net_bgp time active afi_safi_name afi_safi_name_1 enabled host identifier name neighbor_address openconfig-network-instance:/network-instances/network-instance/protocols/protocol/name path prefixes/installed prefixes/received prefixes/sent source ---- ------ ------------- --------------- ------- ---- ---------- ---- ---------------- --------------------------------------------------------------------------------------- ---- ------------------ ----------------- ------------- ------ 1583448807791000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.1 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448807803000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448807818000000 true IPV4_UNICAST IPV4_UNICAST true 8701134596b2 BGP ce 100.0.3.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 31 1 5 11.0.0.3 1583448837903000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.1 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448837939000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448837973000000 true IPV4_UNICAST IPV4_UNICAST true 8701134596b2 BGP ce 100.0.3.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 31 1 5 11.0.0.3 1583448868010000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.1 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448868016000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3 1583448868046000000 true IPV4_UNICAST IPV4_UNICAST true 8701134596b2 BGP ce 100.0.3.2 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 31 1 5 11.0.0.3 1583448898085000000 true L3VPN_IPV4_UNICAST L3VPN_IPV4_UNICAST true 8701134596b2 BGP default 11.0.0.1 default openconfig-network-instance:/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi 1 3 1 11.0.0.3
by opening netconf and checking capabilities i can see that openconfig-bgp and mpls are not listed, probably should have started here :)
$ ssh cisco@r3 -s netconf | egrep "openconfig-bgp|openconfig-mpls|openconfig-network" Password: <capability>http://cisco.com/ns/yang/cisco-xr-openconfig-network-instance-deviations?module=cisco-xr-openconfig-network-instance-deviations&revision=2017-10-16</capability> <capability>http://cisco.com/ns/yang/cisco-xr-openconfig-bgp-policy-deviations?module=cisco-xr-openconfig-bgp-policy-deviations&revision=2017-02-02</capability> <capability>http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2017-01-13</capability> <capability>http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2017-01-13&deviations=cisco-xr-openconfig-network-instance-deviations</capability> <capability>http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2017-02-02</capability> <capability>http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2017-02-02</capability> <capability>http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2016-12-15</capability> ^C
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide