Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Cesar's profile - activity

2017-10-27 06:25:19 -0700 received badge  Famous Question (source)
2017-03-27 01:37:44 -0700 received badge  Notable Question (source)
2017-03-10 08:19:12 -0700 commented answer Unable to write flows for queues in OVSwitch through Rest API calls

I edited the response putting the commands I used to create queues and inspect the rule on OVS.

2017-03-10 08:08:49 -0700 commented answer HP switch and ODL Beryllium

I have installed features odl-l2switch-switch-ui and odl-dlux-all only. I hope it helps...

2017-03-10 06:51:45 -0700 answered a question Unable to write flows for queues in OVSwitch through Rest API calls

Hi, Im not really sure, but... I think you have to use the <ip-protocol> tag when using L3 (and L4) match.

Here is an example:

<flow xmlns="urn:opendaylight:flow:inventory">
    <id>99</id>
    <flow-name>APPLY-QUEUE1-UDP-H1-H2</flow-name>
    <flags>
    SEND_FLOW_REM
    </flags>
    <instructions>
        <instruction>
        <order>0</order>
        <apply-actions>
            <action>
                <order>2</order>
                   <output-action>
                      <output-node-connector>
                         openflow:1:2
                      </output-node-connector>
                  </output-action>
            </action>
            <action>
                <order>1</order>
                <set-queue-action>
                    <queue-id>1</queue-id>
                    <queue>1</queue>
                </set-queue-action>
            </action>
        </apply-actions>
        </instruction>
    </instructions>
   <match>
        <ethernet-match>
            <ethernet-type>
                <type>2048</type>
            </ethernet-type>
        </ethernet-match>
        <ipv4-source>10.0.0.1/24</ipv4-source>
        <ipv4-destination>10.0.0.2/24</ipv4-destination>
        <ip-match>
            <ip-protocol>17</ip-protocol>
        </ip-match>
        <udp-destination-port>5001</udp-destination-port>
    </match>
    <hard-timeout>0</hard-timeout>
    <idle-timeout>0</idle-timeout>
    <priority>30</priority>
    <table_id>0</table_id>
</flow>

I have created the mininet topology using:

mn --mac --controller=remote,ip=127.0.0.1 --topo=single,2 --switch ovsk,protocols=OpenFlow13 --ipbase=10.0.0.0/24

I created the queues using this command:

sudo ovs-vsctl set port s1-eth1 qos=@newqos -- --id=@newqos create qos type=linux-htb other-config:max-rate=10000000 queues=1=@q1,2=@q2 -- --id=@q1 create queue other-config:min-rate=5000000 other-config:max-rate=5000000

And I use the following command do inspect the flow rules (please note that the second rule corresponds to the above xml)

 ovs-ofctl -O OpenFlow13 dump-flows s1
 cookie=0x69, duration=18.413s, table=0, n_packets=14, n_bytes=1156, priority=1 actions=NORMAL,CONTROLLER:65535
 cookie=0x0, duration=1.798s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=30,udp,nw_src=10.0.0.0/24,nw_dst=10.0.0.0/24,tp_dst=5001 actions=set_queue:1,output:2
 cookie=0x2b00000000000007, duration=18.416s, table=0, n_packets=0, n_bytes=0, priority=100,dl_type=0x88cc actions=CONTROLLER:65535
 cookie=0x0, duration=18.413s, table=0, n_packets=0, n_bytes=0, priority=30,arp actions=ALL,CONTROLLER:65535
 cookie=0x2b00000000000007, duration=18.416s, table=0, n_packets=0, n_bytes=0, priority=1,arp actions=CONTROLLER:65535
2017-03-10 06:17:35 -0700 received badge  Enthusiast
2017-03-07 05:03:43 -0700 received badge  Popular Question (source)
2017-03-06 12:06:17 -0700 received badge  Famous Question (source)
2017-03-02 14:21:54 -0700 received badge  Editor (source)
2017-03-02 14:02:31 -0700 answered a question Configuration of flows on hp switch using ODL

I solved the problem by doing what is shown in the following link:

https://ask.opendaylight.org/question...

Regards

2017-03-02 14:00:04 -0700 answered a question HP switch and ODL Beryllium

I have solved the problem by doing this:

  • First, I have performed a clean installation of ODL Beryllium version. I also installed the "odl-l2switch-switch-ui" feature only, btw;

  • Then I changed one property of 58-l2switchmain.xml file from true to "false" (which is inside of <odl-root-folder>/etc/opendaylight/karaf), as follows:

      <is-install-dropall-flow>false</is-install-dropall-flow> (default is true)
    
  • I have also setted two properties of the 54-arphandler.xml to "false" (again, the file is inside of <odl-root-folder>/etc/opendaylight/karaf folder), as follows:

      <is-proactive-flood-mode>false</is-proactive-flood-mode>
      <is-hybrid-mode>false</is-hybrid-mode>
    
  • I have setted one property of file 52-loopremover.xml to "true", as follows:

      <is-install-lldp-flow>true</is-install-lldp-flow>
    
  • I started the ODL controller issuing the command ./bin/karaf (but without the -of13 option)

  • Finally, I had to install two more rules on ODL on its table-0 (using its REST API and Postman), as follows:

First, one normal-pipeline rule:

http://localhost:8181/restconf/config...[your-switch-id-here]/table/0/flow/260

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<flow-name>OUT-NORMAL-CONTROLLER</flow-name>
<id>260</id>
<cookie_mask>255</cookie_mask>
<cookie>105</cookie>
<table_id>0</table_id>
<priority>1</priority>
<hard-timeout>0</hard-timeout>
<idle-timeout>0</idle-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<output-action>
<output-node-connector>NORMAL</output-node-connector>
<max-length>65535</max-length>
</output-action>
</action>
<action>
<order>1</order>
<output-action>
<output-node-connector>CONTROLLER</output-node-connector>
<max-length>65535</max-length>
</output-action>
</action>                
</apply-actions>
</instruction>
</instructions>
</flow>
  • And a second rule to deal with ARP packets:

http://localhost:8181/restconf/config...[your-switch-id-here]/table/0/flow/37

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<priority>30</priority>
<flow-name>ARP-ALL-CTRL</flow-name>
<match>
<ethernet-match>
<ethernet-type>
<type>0x806</type>
</ethernet-type>
</ethernet-match>
</match>
<id>37</id>
<table_id>0</table_id>
<hard-timeout>0</hard-timeout>
<idle-timeout>0</idle-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<output-action>
<output-node-connector>ALL</output-node-connector>
<max-length>65535</max-length>
</output-action>
</action>
<action>
<order>1</order>
<output-action>
<output-node-connector>CONTROLLER</output-node-connector>
<max-length>65535</max-length>
</output-action>
</action>                
</apply-actions>
</instruction>
</instructions>
</flow>

After doing all these steps, you will notice that the following rules are automatically installed after the controller is started:

 cookie=0x69, duration=808.580s, table=0, n_packets=26, n_bytes=2012, priority=1 actions=NORMAL,CONTROLLER:65535
 cookie=0x2b00000000000003, duration=808.584s, table=0, n_packets=0, n_bytes=0, priority=100,dl_type=0x88cc actions=CONTROLLER:65535
 cookie=0x2b00000000000003, duration=808.584s, table=0, n_packets=2, n_bytes=84, priority=1,arp actions=CONTROLLER:65535

From the above rules, the controller now can interact with the hosts. Also, all the hosts of my topology and the switch appear in the topology GUI view and ping each other. Regards,

2017-02-24 08:08:51 -0700 received badge  Popular Question (source)
2017-02-24 08:08:51 -0700 received badge  Notable Question (source)
2017-02-15 03:59:33 -0700 commented answer Action string for forwarding to table 1

Huge thanks, mawill! Saved me a lot of time!

2017-02-15 03:59:09 -0700 answered a question Action string for forwarding to table 1

Huge thanks, mawill! Saved me a lot of time!

2017-02-14 04:48:01 -0700 asked a question Configuration of flows on hp switch using ODL

Hey ODL community,

Im having problems to properly configure the flows so that instead of having ODL writing all the flows in table 0, it may able to use other table than table 0.

In this discussion, someone already shown what are the ODL files we need to manipulate in order to change the default table from 0 to another one.

I also read here ( https://ask.opendaylight.org/question... ) that by adding a hard flow in table 100 to direct everything to table 200, changing the config files in /distribution/etc/opendaylight/karaf to add all flows in table 200, everything will work fine.

So step that instructs to manipulate ODL files so that it can write flows in the table 200 (which is my software table) is clear to me. But how to perform the first part of the solution? How to manually add a hard flow table in 0 to direct everything to 100, and manually add another hard flow int table 100 to direct everything to the software table 200? Any help to a newbie will be very appreciated.

Regards

2017-02-10 07:29:41 -0700 asked a question HP switch and ODL Beryllium

Hey,

I am a PhD student from Brazil. Our research lab has acquired a HP switch (HPE 5130) and Im having problems to integrate this switch with the ODL controller. In particular, I have used the configuration guide which is provided by HP, ODL Beryllium and the -of13 karaf option, but although the switch always appears in the topology ODL GUI, the two client hosts are never visible. The 2 hosts cannot ping each other. So it appears to me that the ODL controller is not able to install the proper flow rules so that the hosts can see each other (as I saw ODL does in other simulations I run using it with Mininet and OVS). Is there any mandatory package that I must install to perform communication between ODL and HP switches? Do I have to perform some kind of previous configuration on the hp switch so that ODL can properly use the flow tables and install the flow rules in particular? Do I have to use a specific OpenFlow version?

Anyway, if anybody has successfully created a simple 2hosts topology using ODL and a HP switch can give a novice any direction about how to create a 2hosts topology with one HP switch---so that ODL is able to install flow rules that allow the 2hosts ping each other as well as all nodes appear in the topology GUI view---, let me know, please. Thanks,