[openflowplugin-dev] OF 1.3 testing


Ed Warnicke (eaw) <eaw@...>
 

Luis,
Just glancing at your screen caps, I notice “Packet size limited during capture” in the one on the bottom.
Was the capture done in Wireshark or using tcpdump?  If tcpdump, did you use the -s 0 flag to cause it to
capture the whole frame?  By default tcpdump only captures the first 116 bytes of the packet.

Ed

On Dec 17, 2013, at 3:51 PM, Luis Gomez <luis.gomez@...> wrote:

Hi Michal,
 
I am using latest OF plugin + controller build from Jenkins:
 
 
I am generating REST PUT request using POSTMAN and instructions in (see attached POSTMAN image):
 
 
After executing the PUT, I get answer 200 OK and I can see the flow with GET http://10.125.136.52:8080/restconfig/config/opendaylight-inventory:nodes/node/openflow:1/table/0/
 
However no flow is available in the switch. When I sniff the packets with Wireshark (using 1.11.3 developer version) I can see in the controller trace a truncated (or malformed) FLOW-MOD packet (see attached FLOW_MOD_RESTCONF image) that does reach the mininet VM because the packet is missing in the mininet trace.
 
Finally if I try to push the flow from OSGI console:  “addMDFlow openflow:1 f2”, it works, see new capture attached FLOW_MOD_mdAddFlow. 
 
BR/Luis
 
 
 
From: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) [mailto:mirehak@...] 
Sent: Tuesday, December 17, 2013 10:34 AM
To: Luis Gomez; openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: RE: OF 1.3 testing
 

Hi Luis,
could you try your experiment with current OFPlugin, OFLibrary and controller code? 
I opened the attached pcap files, but I saw no add flow message - just some multiparts, handshake, echo and one error referring to multipart. Perhaps it is caused by different version of wiresharks (I have 1.8.2 installed).

Can you provide instructions on how to replicate your test? Or at least details regarding the flow you tried to push to switch.

Thank you.

Regards,
Michal


From: openflowplugin-dev-bounces@... [openflowplugin-dev-bounces@...] on behalf of Luis Gomez [luis.gomez@...]
Sent: Tuesday, December 17, 2013 4:07 AM
To: openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: [openflowplugin-dev] OF 1.3 testing

Hi OF plugin experts,
 
 
And I found an issue when pushing the flow from NB API (RESTCONF). As you can see in the attached traces from controller and mininet, the FLOW_MOD message from controller is a truncated packet and as such it never reaches the mininet VM so flow gets never created in the switch. Do you also see this behavior in your setup?
 
BR/Luis
 
 
<Capture_POSTMAN.JPG><Capture_FLOW_MOD_mdAddFlow.JPG><Capture_FLOW_MOD_RESTCONF.JPG>_______________________________________________
openflowplugin-dev mailing list
openflowplugin-dev@...
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev


Madhusudhan Kandadai <madhusudhan.opendaylight@...>
 

Hi Ed,

Yes, Luis and I worked with a couple of commands and we did try using -s 0 flag that you mentioned i.e., tcpdump -s 0 -w test1.pcap

Regards,
Madhusudhan


On Wednesday, December 18, 2013 7:30 PM, Ed Warnicke (eaw) <eaw@...> wrote:
Luis,
Just glancing at your screen caps, I notice “Packet size limited during capture” in the one on the bottom.
Was the capture done in Wireshark or using tcpdump?  If tcpdump, did you use the -s 0 flag to cause it to
capture the whole frame?  By default tcpdump only captures the first 116 bytes of the packet.

Ed

On Dec 17, 2013, at 3:51 PM, Luis Gomez <luis.gomez@...> wrote:

Hi Michal,
 
I am using latest OF plugin + controller build from Jenkins:
 
 
I am generating REST PUT request using POSTMAN and instructions in (see attached POSTMAN image):
 
 
After executing the PUT, I get answer 200 OK and I can see the flow with GET http://10.125.136.52:8080/restconfig/config/opendaylight-inventory:nodes/node/openflow:1/table/0/
 
However no flow is available in the switch. When I sniff the packets with Wireshark (using 1.11.3 developer version) I can see in the controller trace a truncated (or malformed) FLOW-MOD packet (see attached FLOW_MOD_RESTCONF image) that does reach the mininet VM because the packet is missing in the mininet trace.
 
Finally if I try to push the flow from OSGI console:  “addMDFlow openflow:1 f2”, it works, see new capture attached FLOW_MOD_mdAddFlow. 
 
BR/Luis
 
 
 
From: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) [mailto:mirehak@...] 
Sent: Tuesday, December 17, 2013 10:34 AM
To: Luis Gomez; openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: RE: OF 1.3 testing
 
Hi Luis,
could you try your experiment with current OFPlugin, OFLibrary and controller code? 
I opened the attached pcap files, but I saw no add flow message - just some multiparts, handshake, echo and one error referring to multipart. Perhaps it is caused by different version of wiresharks (I have 1.8.2 installed).

Can you provide instructions on how to replicate your test? Or at least details regarding the flow you tried to push to switch.

Thank you.

Regards,
Michal

From: openflowplugin-dev-bounces@... [openflowplugin-dev-bounces@...] on behalf of Luis Gomez [luis.gomez@...]
Sent: Tuesday, December 17, 2013 4:07 AM
To: openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: [openflowplugin-dev] OF 1.3 testing
Hi OF plugin experts,
 
 
And I found an issue when pushing the flow from NB API (RESTCONF). As you can see in the attached traces from controller and mininet, the FLOW_MOD message from controller is a truncated packet and as such it never reaches the mininet VM so flow gets never created in the switch. Do you also see this behavior in your setup?
 
BR/Luis
 
 
<Capture_POSTMAN.JPG><Capture_FLOW_MOD_mdAddFlow.JPG><Capture_FLOW_MOD_RESTCONF.JPG>_______________________________________________
openflowplugin-dev mailing list
openflowplugin-dev@...
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev


_______________________________________________
integration-dev mailing list
integration-dev@...
https://lists.opendaylight.org/mailman/listinfo/integration-dev



Zoltán Lajos Kis <zoltan.lajos.kis@...>
 

Hi,

 

I don’t think this is caused by a truncated capture. If you look at the Frame field it clearly shows that 110 out of 110 bytes were captured. I think that text is actually generated by the OpenFlow dissector, as it never receives the complete OF message from the TCP stream. As you can see the flow_mod message is supposed to be 64 bytes long, but only the first 44 bytes arrives in the TCP segment, and then the TCP stream ends (at least in the capture file).

 

If you look at the pcap file sent by Luis earlier [1], something similar happens. A flow_mod of 64 bytes is supposed to be sent. In frame 5 44 bytes of this arrives. This is followed by frame 7, which carries an echo reply message (and of course confuses the dissector). Then this TCP stream is ends, and five seconds later the hello restarts using another client port.

 

Another weird thing to look into is that the flow_mod described in the restconf request [2] should be longer than 64 bytes. If my math is right, the generated message should take 88 bytes:

- 8 bytes – openflow header

- 40 bytes - ofp_flow_mod body (w/o match and instructions)

- 24 bytes - ofp_match (4b) with an eth_type exact match (6b), and an ipv4 masked match (12b) and padding (2b)

- 8 bytes – ofp_instruction_actions (w/o actions)

- 8 bytes – ofp_action_header (for dec_nw_ttl)

 

Best Regards,

Zoltan

 

 

[1] https://lists.opendaylight.org/pipermail/openflowplugin-dev/2013-December/000400.html, controller_flow_push.pcap

[2] https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:End_to_End_Flows#Push_your_flow

 

From: openflowplugin-dev-bounces@... [mailto:openflowplugin-dev-bounces@...] On Behalf Of Ed Warnicke (eaw)
Sent: Thursday, December 19, 2013 4:30 AM
To: Luis Gomez
Cc: integration-dev@...; openflowplugin-dev@...
Subject: Re: [openflowplugin-dev] OF 1.3 testing

 

Luis,

Just glancing at your screen caps, I notice “Packet size limited during capture” in the one on the bottom.

Was the capture done in Wireshark or using tcpdump?  If tcpdump, did you use the -s 0 flag to cause it to

capture the whole frame?  By default tcpdump only captures the first 116 bytes of the packet.

 

Ed

 

On Dec 17, 2013, at 3:51 PM, Luis Gomez <luis.gomez@...> wrote:



Hi Michal,

 

I am using latest OF plugin + controller build from Jenkins:

 

 

I am generating REST PUT request using POSTMAN and instructions in (see attached POSTMAN image):

 

 

After executing the PUT, I get answer 200 OK and I can see the flow with GET http://10.125.136.52:8080/restconfig/config/opendaylight-inventory:nodes/node/openflow:1/table/0/

 

However no flow is available in the switch. When I sniff the packets with Wireshark (using 1.11.3 developer version) I can see in the controller trace a truncated (or malformed) FLOW-MOD packet (see attached FLOW_MOD_RESTCONF image) that does reach the mininet VM because the packet is missing in the mininet trace.

 

Finally if I try to push the flow from OSGI console:  “addMDFlow openflow:1 f2”, it works, see new capture attached FLOW_MOD_mdAddFlow. 

 

BR/Luis

 

 

 

From: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) [mailto:mirehak@...] 
Sent: Tuesday, December 17, 2013 10:34 AM
To: Luis Gomez; openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: RE: OF 1.3 testing

 

Hi Luis,
could you try your experiment with current OFPlugin, OFLibrary and controller code? 
I opened the attached pcap files, but I saw no add flow message - just some multiparts, handshake, echo and one error referring to multipart. Perhaps it is caused by different version of wiresharks (I have 1.8.2 installed).

Can you provide instructions on how to replicate your test? Or at least details regarding the flow you tried to push to switch.

Thank you.

Regards,
Michal


From: openflowplugin-dev-bounces@... [openflowplugin-dev-bounces@...] on behalf of Luis Gomez [luis.gomez@...]
Sent: Tuesday, December 17, 2013 4:07 AM
To: openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: [openflowplugin-dev] OF 1.3 testing

Hi OF plugin experts,

 

 

And I found an issue when pushing the flow from NB API (RESTCONF). As you can see in the attached traces from controller and mininet, the FLOW_MOD message from controller is a truncated packet and as such it never reaches the mininet VM so flow gets never created in the switch. Do you also see this behavior in your setup?

 

BR/Luis

 

 

<Capture_POSTMAN.JPG><Capture_FLOW_MOD_mdAddFlow.JPG><Capture_FLOW_MOD_RESTCONF.JPG>_______________________________________________
openflowplugin-dev mailing list
openflowplugin-dev@...
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

 


Luis Gomez <luis.gomez@...>
 

OK gentlemen, something has definitely changed since I tried last week, now it works with no issues:

 

mininet@mininet-vm:~\> sudo ovs-ofctl -O OpenFlow13 dump-flows s1

OFPST_FLOW reply (OF1.3) (xid=0x2):

cookie=0x0, duration=22.197s, table=1, n_packets=0, n_bytes=0, idle_timeout=300, hard_timeout=600, send_flow_rem priority=2,ip,nw_dst=10.0.10.0/24 actions=dec_ttl

 

Just one more question, is there a way to remove the flow once it gets created?

 

Thanks/Luis

 

 

From: Zoltán Lajos Kis
Sent: Thursday, December 19, 2013 2:49 AM
To: Ed Warnicke (eaw); Luis Gomez
Cc: integration-dev@...; openflowplugin-dev@...
Subject: RE: [openflowplugin-dev] OF 1.3 testing

 

Hi,

 

I don’t think this is caused by a truncated capture. If you look at the Frame field it clearly shows that 110 out of 110 bytes were captured. I think that text is actually generated by the OpenFlow dissector, as it never receives the complete OF message from the TCP stream. As you can see the flow_mod message is supposed to be 64 bytes long, but only the first 44 bytes arrives in the TCP segment, and then the TCP stream ends (at least in the capture file).

 

If you look at the pcap file sent by Luis earlier [1], something similar happens. A flow_mod of 64 bytes is supposed to be sent. In frame 5 44 bytes of this arrives. This is followed by frame 7, which carries an echo reply message (and of course confuses the dissector). Then this TCP stream is ends, and five seconds later the hello restarts using another client port.

 

Another weird thing to look into is that the flow_mod described in the restconf request [2] should be longer than 64 bytes. If my math is right, the generated message should take 88 bytes:

- 8 bytes – openflow header

- 40 bytes - ofp_flow_mod body (w/o match and instructions)

- 24 bytes - ofp_match (4b) with an eth_type exact match (6b), and an ipv4 masked match (12b) and padding (2b)

- 8 bytes – ofp_instruction_actions (w/o actions)

- 8 bytes – ofp_action_header (for dec_nw_ttl)

 

Best Regards,

Zoltan

 

 

[1] https://lists.opendaylight.org/pipermail/openflowplugin-dev/2013-December/000400.html, controller_flow_push.pcap

[2] https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:End_to_End_Flows#Push_your_flow

 

From: openflowplugin-dev-bounces@... [mailto:openflowplugin-dev-bounces@...] On Behalf Of Ed Warnicke (eaw)
Sent: Thursday, December 19, 2013 4:30 AM
To: Luis Gomez
Cc: integration-dev@...; openflowplugin-dev@...
Subject: Re: [openflowplugin-dev] OF 1.3 testing

 

Luis,

Just glancing at your screen caps, I notice “Packet size limited during capture” in the one on the bottom.

Was the capture done in Wireshark or using tcpdump?  If tcpdump, did you use the -s 0 flag to cause it to

capture the whole frame?  By default tcpdump only captures the first 116 bytes of the packet.

 

Ed

 

On Dec 17, 2013, at 3:51 PM, Luis Gomez <luis.gomez@...> wrote:

 

Hi Michal,

 

I am using latest OF plugin + controller build from Jenkins:

 

 

I am generating REST PUT request using POSTMAN and instructions in (see attached POSTMAN image):

 

 

After executing the PUT, I get answer 200 OK and I can see the flow with GET http://10.125.136.52:8080/restconfig/config/opendaylight-inventory:nodes/node/openflow:1/table/0/

 

However no flow is available in the switch. When I sniff the packets with Wireshark (using 1.11.3 developer version) I can see in the controller trace a truncated (or malformed) FLOW-MOD packet (see attached FLOW_MOD_RESTCONF image) that does reach the mininet VM because the packet is missing in the mininet trace.

 

Finally if I try to push the flow from OSGI console:  “addMDFlow openflow:1 f2”, it works, see new capture attached FLOW_MOD_mdAddFlow. 

 

BR/Luis

 

 

 

From: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) [mailto:mirehak@...] 
Sent: Tuesday, December 17, 2013 10:34 AM
To: Luis Gomez; openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: RE: OF 1.3 testing

 

Hi Luis,
could you try your experiment with current OFPlugin, OFLibrary and controller code? 
I opened the attached pcap files, but I saw no add flow message - just some multiparts, handshake, echo and one error referring to multipart. Perhaps it is caused by different version of wiresharks (I have 1.8.2 installed).

Can you provide instructions on how to replicate your test? Or at least details regarding the flow you tried to push to switch.

Thank you.

Regards,
Michal


From: openflowplugin-dev-bounces@... [openflowplugin-dev-bounces@...] on behalf of Luis Gomez [luis.gomez@...]
Sent: Tuesday, December 17, 2013 4:07 AM
To: openflowplugin-dev@...
Cc: 'integration-dev@...'
Subject: [openflowplugin-dev] OF 1.3 testing

Hi OF plugin experts,

 

 

And I found an issue when pushing the flow from NB API (RESTCONF). As you can see in the attached traces from controller and mininet, the FLOW_MOD message from controller is a truncated packet and as such it never reaches the mininet VM so flow gets never created in the switch. Do you also see this behavior in your setup?

 

BR/Luis

 

 

<Capture_POSTMAN.JPG><Capture_FLOW_MOD_mdAddFlow.JPG><Capture_FLOW_MOD_RESTCONF.JPG>_______________________________________________
openflowplugin-dev mailing list
openflowplugin-dev@...
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev