Difference between revisions of "IETF 112 Hackathon"
From Yuma123 Wiki
Jump to navigationJump to search| Line 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 17: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>