Difference between revisions of "IETF 112 Hackathon"
From Yuma123 Wiki
Jump to navigationJump to searchLine 1: | Line 1: | ||
− | * |
+ | * Organized presentation at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 member of the team |
+ | |||
+ | Our goal was to implement the last 2 sec. 26 benchmarks to the RFC2544 python implementation based on YANG/NETCONF interface specified in [https://datatracker.ietf.org/doc/draft-vassilev-bmwg-network-interconnect-tester/ draft-vassilev-bmwg-network-interconnect-tester] |
||
+ | |||
+ | These are in fact often not implemented in commercial implementations. Especially the last one which requires means to restart or powercycle the DUT. |
||
+ | |||
+ | We implement YANG/NETCONF interface for a power distribution unit which we use to powercycle the DUT and measure the down time. Which turned to be a great demo for configuration with YANG/NETCONF. Here is the output of accessing the device with yangcli and switching off port 2 of the PDU which is connected to the DUT. |
||
+ | |||
+ | <nowiki> |
||
+ | $ apt-get install yangcli |
||
+ | $ yangcli --server=lightside-instruments.com --ncport=10841 --user=user --password=ietf112 --echo-requests=true --echo-replies=true --display-mode=xml |
||
+ | ... |
||
+ | yangcli user@lightside-instruments.com> xget-config source=running / |
||
+ | |||
+ | RPC Request 3 for session 1: |
||
+ | |||
+ | <get-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> |
||
+ | <source> |
||
+ | <running/> |
||
+ | </source> |
||
+ | <filter type="xpath" select="/"/> |
||
+ | </get-config> |
||
+ | |||
+ | RPC Data Reply 3 for session 2: |
||
+ | |||
+ | <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> |
||
+ | <data> |
||
+ | <nacm xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"/> |
||
+ | <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit"> |
||
+ | <output> |
||
+ | <index>0</index> |
||
+ | </output> |
||
+ | <output> |
||
+ | <index>2</index> |
||
+ | </output> |
||
+ | <output> |
||
+ | <index>4</index> |
||
+ | </output> |
||
+ | </power-distribution-unit> |
||
+ | </data> |
||
+ | </rpc-reply> |
||
+ | |||
+ | yangcli user@lightside-instruments.com> delete /power-distribution-unit/output/ |
||
+ | |||
+ | Filling list /power-distribution-unit/output: |
||
+ | Filling key leaf /power-distribution-unit/output/index: |
||
+ | Enter uint32 value for leaf <index> |
||
+ | yangcli user@lightside-instruments.com:delete> 2 |
||
+ | |||
+ | RPC Request 4 for session 1: |
||
+ | |||
+ | <edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> |
||
+ | <target> |
||
+ | <candidate/> |
||
+ | </target> |
||
+ | <default-operation>merge</default-operation> |
||
+ | <test-option>set</test-option> |
||
+ | <config> |
||
+ | <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit"> |
||
+ | <output |
||
+ | xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" |
||
+ | nc:operation="delete"> |
||
+ | <index>2</index> |
||
+ | </output> |
||
+ | </power-distribution-unit> |
||
+ | </config> |
||
+ | </edit-config> |
||
+ | |||
+ | RPC OK Reply 4 for session 2: |
||
+ | |||
+ | yangcli user@lightside-instruments.com> commit |
||
+ | |||
+ | RPC Request 5 for session 1: |
||
+ | |||
+ | <commit xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/> |
||
+ | |||
+ | RPC OK Reply 5 for session 2: |
||
+ | |||
+ | yangcli user@lightside-instruments.com> |
||
+ | |||
+ | </nowiki> |
Revision as of 16:25, 8 November 2021
- Organized presentation at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 member of the team
Our goal was to implement the last 2 sec. 26 benchmarks to the RFC2544 python implementation based on YANG/NETCONF interface specified in draft-vassilev-bmwg-network-interconnect-tester
These are in fact often not implemented in commercial implementations. Especially the last one which requires means to restart or powercycle the DUT.
We implement YANG/NETCONF interface for a power distribution unit which we use to powercycle the DUT and measure the down time. Which turned to be a great demo for configuration with YANG/NETCONF. Here is the output of accessing the device with yangcli and switching off port 2 of the PDU which is connected to the DUT.
$ apt-get install yangcli $ yangcli --server=lightside-instruments.com --ncport=10841 --user=user --password=ietf112 --echo-requests=true --echo-replies=true --display-mode=xml ... yangcli user@lightside-instruments.com> xget-config source=running / RPC Request 3 for session 1: <get-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <source> <running/> </source> <filter type="xpath" select="/"/> </get-config> RPC Data Reply 3 for session 2: <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <data> <nacm xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"/> <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit"> <output> <index>0</index> </output> <output> <index>2</index> </output> <output> <index>4</index> </output> </power-distribution-unit> </data> </rpc-reply> yangcli user@lightside-instruments.com> delete /power-distribution-unit/output/ Filling list /power-distribution-unit/output: Filling key leaf /power-distribution-unit/output/index: Enter uint32 value for leaf <index> yangcli user@lightside-instruments.com:delete> 2 RPC Request 4 for session 1: <edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <target> <candidate/> </target> <default-operation>merge</default-operation> <test-option>set</test-option> <config> <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit"> <output xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="delete"> <index>2</index> </output> </power-distribution-unit> </config> </edit-config> RPC OK Reply 4 for session 2: yangcli user@lightside-instruments.com> commit RPC Request 5 for session 1: <commit xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/> RPC OK Reply 5 for session 2: yangcli user@lightside-instruments.com>