summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorYohanPipereau <ypiperea@cisco.com>2019-03-06 14:01:58 +0100
committerYohanPipereau <ypiperea@cisco.com>2019-03-29 14:39:36 +0100
commita760dfb253161911fc3aa3c8b879c461d53ade6e (patch)
tree0e79953f4ed5615879a58f49a74df3f9c6739a42 /samples
parent2b9b6b9b130b75799a40989c0ebe5040fa3e45fb (diff)
Sweetcomb global cleanup
-Merge IETF and Openconfig to use SCVPP 2 -Move L2 bridge from sc_vpp_interface to sc_vpp_v3po -Implement tav2 dump -Make openconfig-interfaces functions static -Try one more dispatch after failure in VAPI_CALL -Add error return code for scvpp -Remove unused length maccros -Return appropriate error code for interface dump when interface not found -Improve scvpp test suite -Change get_interface_id prototype -Use interface_dump_iface in openconfig_interface. -No more vapi types in openconfig_interfaces.c -Move openconfig_local_routing VAPI operations to sc_vpp_ip -Implement a multiple dump with a stack data structure -Comment out state_cb code from openconfig_local_routing to use new functions later. -Rename YANG model to their fully qualified name : <module>@<revision> -Remove headers almost empty and put registration declaration in sc_model.h -Shorten vapi context global variable name -Reorganize scvpp unit test suite -Add instructions to Makefile to install/uninstall YANG models in sysrepo. -Add this new instructions to README.md. -Reimplement interface_dump_all -Use a common message at INFO Log Level to know when sysrepo callbacks are triggered -Remove old structure to perform dump of all interfaces -Reimplement get_interface_name and add scvpp test for it -Clean sys_util -Use UNUSED maccro everywhere to have lighter prototypes -Have ietf-interfaces:interfaces-state work with new dump function -Add setup and teardown for NAT tests -Remove unused tapv2 dump -Remove useless sysrepo module callback -Remove xpath_find_first_key usage in openconfig-interfaces -Remove xpath_find_first_key in oc_local_routing and in the rest of sweetcomb -Reorganize scvpp include dir and fix scvpp_test new warnings -Fix scvpp tests for ip routes -Factorize scvpp nat and test return code of its function -Correct test_dump_if_all if there is an existing hardware interface -Implement a per-prefix dump in scvpp -free changes iterator in ietf-interfaces -Add new XPATH in oc local-routing -Introduce helper methods for sysrepo config callbacks -Factorize config callback -Refactor the openconfig-local-routing config callback -Use common foreach_change to iterate over changes in all models -Create a sample directory gathering example of configurations supposed to work with sweetcomb -Fix state callback of oc-local-routing -Add new sample for get operation on next-hop -foreach_elt maccro condition forgets to read one element Change-Id: I8e87fce577a00337977588f057a6e095a20f457c Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Diffstat (limited to 'samples')
-rw-r--r--samples/ietf-interfaces/set-ip.xml18
-rw-r--r--samples/openconfig-interfaces/get-iface.xpath1
-rw-r--r--samples/openconfig-interfaces/get-subiface.xpath1
-rw-r--r--samples/openconfig-interfaces/set-enable.xml15
-rw-r--r--samples/openconfig-interfaces/set-ip.xml36
-rw-r--r--samples/openconfig-local-routing/add_route_with_iface.xml41
-rw-r--r--samples/openconfig-local-routing/add_route_with_nhop.xml20
-rw-r--r--samples/openconfig-local-routing/get-prefix-nhop-interface.xpath2
-rw-r--r--samples/openconfig-local-routing/get-prefix-nhop.xpath1
-rw-r--r--samples/openconfig-local-routing/get-prefix.xpath1
10 files changed, 136 insertions, 0 deletions
diff --git a/samples/ietf-interfaces/set-ip.xml b/samples/ietf-interfaces/set-ip.xml
new file mode 100644
index 0000000..2d8f1e2
--- /dev/null
+++ b/samples/ietf-interfaces/set-ip.xml
@@ -0,0 +1,18 @@
+<!-- XML for edit-config RPC to set an IP using ietf-interfaces -->
+<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
+ <interface>
+ <name>local0</name>
+ <description>eth0</description>
+ <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
+ <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
+ <enabled>true</enabled>
+ <mtu>1514</mtu>
+ <address>
+ <ip>192.168.50.72</ip>
+ <prefix-length>24</prefix-length>
+ </address>
+ </ipv4>
+ <enabled>true</enabled>
+ </interface>
+</interfaces>
+
diff --git a/samples/openconfig-interfaces/get-iface.xpath b/samples/openconfig-interfaces/get-iface.xpath
new file mode 100644
index 0000000..bc829f6
--- /dev/null
+++ b/samples/openconfig-interfaces/get-iface.xpath
@@ -0,0 +1 @@
+get --filter-xpath /openconfig-interfaces:interfaces/interface[name="tap0"]/state
diff --git a/samples/openconfig-interfaces/get-subiface.xpath b/samples/openconfig-interfaces/get-subiface.xpath
new file mode 100644
index 0000000..e38de57
--- /dev/null
+++ b/samples/openconfig-interfaces/get-subiface.xpath
@@ -0,0 +1 @@
+get --filter-xpath /openconfig-interfaces:interfaces/interface[name="tap0"]/subinterfaces/*
diff --git a/samples/openconfig-interfaces/set-enable.xml b/samples/openconfig-interfaces/set-enable.xml
new file mode 100644
index 0000000..dc60769
--- /dev/null
+++ b/samples/openconfig-interfaces/set-enable.xml
@@ -0,0 +1,15 @@
+<!-- XML for edit-config RPC to change interface state using openconfig-interfaces -->
+<interfaces xmlns="http://openconfig.net/yang/interfaces">
+ <interface>
+ <name>GigabitEthernet0/9/0</name>
+ <config>
+ <name>GigabitEthernet0/9/0</name>
+ <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
+ <mtu>1501</mtu>
+ <loopback-mode>true</loopback-mode>
+ <description>openconfig</description>
+ <enabled>true</enabled>
+ </config>
+ </interface>
+</interfaces>
+
diff --git a/samples/openconfig-interfaces/set-ip.xml b/samples/openconfig-interfaces/set-ip.xml
new file mode 100644
index 0000000..80b368c
--- /dev/null
+++ b/samples/openconfig-interfaces/set-ip.xml
@@ -0,0 +1,36 @@
+<!-- XML for edit-config RPC to set an IP using openconfig-interfaces -->
+<interfaces xmlns="http://openconfig.net/yang/interfaces">
+ <interface>
+ <name>tap0</name>
+ <config>
+ <name>tap0</name>
+ <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
+ <mtu>1501</mtu>
+ <loopback-mode>true</loopback-mode>
+ <description>openconfig</description>
+ <enabled>true</enabled>
+ </config>
+ <subinterfaces>
+ <subinterface>
+ <index>0</index>
+ <ipv4 xmlns="http://openconfig.net/yang/interfaces/ip">
+ <addresses>
+ <address>
+ <ip>192.168.0.2</ip>
+ <config>
+ <ip>192.168.0.2</ip>
+ <prefix-length>24</prefix-length>
+ </config>
+ </address>
+ </addresses>
+ </ipv4>
+ <config>
+ <index>0</index>
+ <description>openconfig</description>
+ <enabled>true</enabled>
+ </config>
+ </subinterface>
+ </subinterfaces>
+ </interface>
+</interfaces>
+
diff --git a/samples/openconfig-local-routing/add_route_with_iface.xml b/samples/openconfig-local-routing/add_route_with_iface.xml
new file mode 100644
index 0000000..378a927
--- /dev/null
+++ b/samples/openconfig-local-routing/add_route_with_iface.xml
@@ -0,0 +1,41 @@
+<!-- XML for edit-config RPC to set first an interface and then create a route with this interface -->
+<interfaces xmlns="http://openconfig.net/yang/interfaces">
+ <interface>
+ <name>GigabitEthernet0/9/0</name>
+ <config>
+ <name>GigabitEthernet0/9/0</name>
+ <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
+ <mtu>1501</mtu>
+ <loopback-mode>true</loopback-mode>
+ <description>openconfig</description>
+ <enabled>true</enabled>
+ </config>
+ </interface>
+</interfaces>
+
+
+<!-- Might need to add the interface beforehand -->
+<local-routes xmlns="http://openconfig.net/yang/local-routing">
+ <static-routes>
+ <static>
+ <prefix>10.0.0.0/24</prefix>
+ <config>
+ <prefix>10.0.0.0/24</prefix>
+ </config>
+ <next-hops>
+ <next-hop>
+ <index>0</index>
+ <config>
+ <index>0</index>
+ <next-hop>10.0.0.1</next-hop>
+ </config>
+ <interface-ref>
+ <config>
+ <interface>GigabitEthernet0/9/0</interface>
+ </config>
+ </interface-ref>
+ </next-hop>
+ </next-hops>
+ </static>
+ </static-routes>
+</local-routes>
diff --git a/samples/openconfig-local-routing/add_route_with_nhop.xml b/samples/openconfig-local-routing/add_route_with_nhop.xml
new file mode 100644
index 0000000..8089c4d
--- /dev/null
+++ b/samples/openconfig-local-routing/add_route_with_nhop.xml
@@ -0,0 +1,20 @@
+<!-- XML for edit-config RPC to set a route with prefix and next-hop -->
+<local-routes xmlns="http://openconfig.net/yang/local-routing">
+ <static-routes>
+ <static>
+ <prefix>10.0.0.2/24</prefix>
+ <config>
+ <prefix>10.0.0.2/24</prefix>
+ </config>
+ <next-hops>
+ <next-hop>
+ <index>0</index>
+ <config>
+ <index>0</index>
+ <next-hop>10.0.0.1</next-hop>
+ </config>
+ </next-hop>
+ </next-hops>
+ </static>
+ </static-routes>
+</local-routes>
diff --git a/samples/openconfig-local-routing/get-prefix-nhop-interface.xpath b/samples/openconfig-local-routing/get-prefix-nhop-interface.xpath
new file mode 100644
index 0000000..68c96ca
--- /dev/null
+++ b/samples/openconfig-local-routing/get-prefix-nhop-interface.xpath
@@ -0,0 +1,2 @@
+get --filter-xpath /openconfig-local-routing:local-routes/static-routes/static[prefix="10.0.0.0/24"]/next-hops/next-hop[index="0"]/interface-ref/state
+
diff --git a/samples/openconfig-local-routing/get-prefix-nhop.xpath b/samples/openconfig-local-routing/get-prefix-nhop.xpath
new file mode 100644
index 0000000..4e161da
--- /dev/null
+++ b/samples/openconfig-local-routing/get-prefix-nhop.xpath
@@ -0,0 +1 @@
+get --filter-xpath /openconfig-local-routing:local-routes/static-routes/static[prefix="10.0.0.0/24"]/next-hops/next-hop[index="0"]/state
diff --git a/samples/openconfig-local-routing/get-prefix.xpath b/samples/openconfig-local-routing/get-prefix.xpath
new file mode 100644
index 0000000..936442b
--- /dev/null
+++ b/samples/openconfig-local-routing/get-prefix.xpath
@@ -0,0 +1 @@
+get --filter-xpath /openconfig-local-routing:local-routes/static-routes/static[prefix="10.0.0.0/24"]/state