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
+
* Organized hands on workshop for the project at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 new member of the team - Torfin
   
 
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]
 
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]

Revision as of 16:34, 8 November 2021

  • Organized hands on workshop for the project at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 new member of the team - Torfin

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>