Date   

Re: Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?

Madhava Bangera, Raksha <raksha.madhava.bangera@...>
 

Thanks for clarifying.

 

Regards,

Raksha

 

From: Michal Polkoráb [mailto:michal.polkorab@...]
Sent: Monday, November 30, 2015 6:03 AM
To: Madhava Bangera, Raksha <raksha.madhava.bangera@...>; ovsdb-dev@...; 'openflowjava-dev@...' <openflowjava-dev@...>; openflowplugin-dev@...
Subject: Re: [openflowjava-dev] Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?

 

Hi Raksha,

 

there is currently no way how to register your deserializer from outside of openflowjava. The only option would be to add it into openflowjava directly and build the project locally.

 

Regards,

Michal


From: Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Sent: 23 November 2015 20:50
To: ovsdb-dev@...; 'openflowjava-dev@...'; openflowplugin-dev@...
Subject: [openflowjava-dev] Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?

 

Hi,

 

I am trying to write a java program that can benchmark ODL controller. I am building OF messages using openflow-java library, de-serializing the OF messages received from controller. I noticed that OF-java library does not support de-serializers for FeaturesRequest (type:5) and FlowMod Message(Type:14). I noticed that in MessageDeserializerInitializer.java, registerMessageDeserializers() which is called while initializing de-serializer registry does not load deserializer for type 5 and type 14.

 

Is there a way I can explicitly load the deserialisers for FeaturesRequest and FlowMod Messages using OF-Java? If not, is there any alternate method using the library that I can decode the received messages into FeaturesRequest and FlowMod messages?

 

Thanks & Regards,

Raksha

MichalPolkoráb

Software Engineer


Sídlo Mlynské Nivy 56 / 821 05 Bratislava / Slovakia
R&D centrum 
Janka Kráľa 9 /  974 01 Banská Bystrica Slovakia
+421 918 378 907 / michal.polkorab@...
reception: +421 2 206 65 114 / www.pantheon.sk

Image removed by sender. logo

 


Re: [yangtools-dev] WriteFlow error

Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>
 

Hi John,

you can inspect traffic via wireshark and also add a callback to listenable future returned by the flowServvice.addFlow().


... Futures.addCallback(listenableFuture, ...inline function class)


Regards,

Michal



From: John Schistos <jschistos@...>
Sent: Tuesday, December 1, 2015 14:50
To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco)
Cc: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: Re: [yangtools-dev] WriteFlow error
 
Your solution solvet it, although now, when I set the Ipv4Match field, the flow is not inserted in the switch (although no error is thrown).IOt says it is inserted correctly but nothing happens.Before, when I was using only EthernetMatch it was working fine.Do u have any ideas for this?

On Mon, Nov 30, 2015 at 9:55 PM, John Schistos <jschistos@...> wrote:

I l come back if I have questions Thank you

On Mon, Nov 30, 2015 at 5:30 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Yes, exactly.


Please get inspired by:

(/openFlowPlugin/test-common)

org.opendaylight.openflowplugin.testcommon.DropTestRpcSender#processPacket



Regards,

Michal



From: John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 16:02
To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco)
Cc: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: Re: [yangtools-dev] WriteFlow error
 
Hi Michal,

So, I should specify the node-ref identifier in the code?Right?

Thanx in advance

On Mon, Nov 30, 2015 at 4:38 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis




Re: [yangtools-dev] WriteFlow error

John Schistos <jschistos@...>
 

Your solution solvet it, although now, when I set the Ipv4Match field, the flow is not inserted in the switch (although no error is thrown).IOt says it is inserted correctly but nothing happens.Before, when I was using only EthernetMatch it was working fine.Do u have any ideas for this?

On Mon, Nov 30, 2015 at 9:55 PM, John Schistos <jschistos@...> wrote:
I l come back if I have questions Thank you

On Mon, Nov 30, 2015 at 5:30 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Yes, exactly.


Please get inspired by:

(/openFlowPlugin/test-common)

org.opendaylight.openflowplugin.testcommon.DropTestRpcSender#processPacket



Regards,

Michal



From: John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 16:02
To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco)
Cc: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: Re: [yangtools-dev] WriteFlow error
 
Hi Michal,

So, I should specify the node-ref identifier in the code?Right?

Thanx in advance

On Mon, Nov 30, 2015 at 4:38 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis




Re: [yangtools-dev] WriteFlow error

John Schistos <jschistos@...>
 

I l come back if I have questions Thank you

On Mon, Nov 30, 2015 at 5:30 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Yes, exactly.


Please get inspired by:

(/openFlowPlugin/test-common)

org.opendaylight.openflowplugin.testcommon.DropTestRpcSender#processPacket



Regards,

Michal



From: John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 16:02
To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco)
Cc: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: Re: [yangtools-dev] WriteFlow error
 
Hi Michal,

So, I should specify the node-ref identifier in the code?Right?

Thanx in advance

On Mon, Nov 30, 2015 at 4:38 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis



Re: [yangtools-dev] WriteFlow error

Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>
 

Yes, exactly.


Please get inspired by:

(/openFlowPlugin/test-common)

org.opendaylight.openflowplugin.testcommon.DropTestRpcSender#processPacket



Regards,

Michal



From: John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 16:02
To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco)
Cc: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: Re: [yangtools-dev] WriteFlow error
 
Hi Michal,

So, I should specify the node-ref identifier in the code?Right?

Thanx in advance

On Mon, Nov 30, 2015 at 4:38 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis


Re: [yangtools-dev] WriteFlow error

John Schistos <jschistos@...>
 

Hi Michal,

So, I should specify the node-ref identifier in the code?Right?

Thanx in advance

On Mon, Nov 30, 2015 at 4:38 PM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis


Re: [yangtools-dev] WriteFlow error

Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>
 

Hi Giannis,


add-flow is routed rpc and needs a node-ref identifier in input (field "node"). This error message usually appears when the node is not connected or the identifier is completely missing in the input.


Regards,

Michal



From: yangtools-dev-bounces@... <yangtools-dev-bounces@...> on behalf of John Schistos <jschistos@...>
Sent: Monday, November 30, 2015 15:11
To: l2switch-dev@...; openflowplugin-dev@...; openflowjava-dev@...; yangtools-dev@...
Subject: [yangtools-dev] WriteFlow error
 
I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis


WriteFlow error

John Schistos <jschistos@...>
 

I try to push some flows programmatically to some switches but I get this error:
WriteFlow Error: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath{path=[(urn:opendaylight:flow:service?revision=2013-08-19)add-flow]}

Could u help plz?Thanx in advance.
Giannis


Re: Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?

Michal Polkorab
 

Hi Raksha,


there is currently no way how to register your deserializer from outside of openflowjava. The only option would be to add it into openflowjava directly and build the project locally.


Regards,

Michal


From: Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Sent: 23 November 2015 20:50
To: ovsdb-dev@...; 'openflowjava-dev@...'; openflowplugin-dev@...
Subject: [openflowjava-dev] Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?
 

Hi,

 

I am trying to write a java program that can benchmark ODL controller. I am building OF messages using openflow-java library, de-serializing the OF messages received from controller. I noticed that OF-java library does not support de-serializers for FeaturesRequest (type:5) and FlowMod Message(Type:14). I noticed that in MessageDeserializerInitializer.java, registerMessageDeserializers() which is called while initializing de-serializer registry does not load deserializer for type 5 and type 14.

 

Is there a way I can explicitly load the deserialisers for FeaturesRequest and FlowMod Messages using OF-Java? If not, is there any alternate method using the library that I can decode the received messages into FeaturesRequest and FlowMod messages?

 

Thanks & Regards,

Raksha

MichalPolkoráb

Software Engineer


Sídlo Mlynské Nivy 56 / 821 05 Bratislava / Slovakia
R&D centrum 
Janka Kráľa 9 /  974 01 Banská Bystrica Slovakia
+421 918 378 907 / michal.polkorab@...
reception: +421 2 206 65 114 / www.pantheon.sk

logo

 


Openflow-Java: Deserializer for FeaturesRequest and Flow Mod Message?

Madhava Bangera, Raksha <raksha.madhava.bangera@...>
 

Hi,

 

I am trying to write a java program that can benchmark ODL controller. I am building OF messages using openflow-java library, de-serializing the OF messages received from controller. I noticed that OF-java library does not support de-serializers for FeaturesRequest (type:5) and FlowMod Message(Type:14). I noticed that in MessageDeserializerInitializer.java, registerMessageDeserializers() which is called while initializing de-serializer registry does not load deserializer for type 5 and type 14.

 

Is there a way I can explicitly load the deserialisers for FeaturesRequest and FlowMod Messages using OF-Java? If not, is there any alternate method using the library that I can decode the received messages into FeaturesRequest and FlowMod messages?

 

Thanks & Regards,

Raksha


Re: Query on ConnectionAdapterImpl

Michal Polkorab
 

Hello Giuseppe,


there is a reason behind this implementation. MultipartReply messages are RPCs, but there can be multiple of them delivered from switch to controller (eg.

OFPMPF_REPLY_* flags).

If those were strictly paired with MultipartRequest message, then the first MultipartReply message would consume the relevant / corresponding MultipartRequest future and the next one (with the same XID) could be paired with no future. Openflowplugin project implements a mechanism for multipart request <-> reply mapping.


Regards,

Michal


From: Petralia, GiuseppeX <giuseppex.petralia@...>
Sent: 19 November 2015 18:36
To: 'openflowjava-dev@...'
Subject: [openflowjava-dev] Query on ConnectionAdapterImpl
 

Hi all,

 

I am working with the ConnectionAdapterImpl

(https://github.com/opendaylight/openflowjava/blob/master/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/ConnectionAdapterImpl.java)

 

I can’t understand why the multipartRequest method return an object of type Future<RpcResult<Void>> instead of  Future<RpcResult<MultiparReplyMessage>>  as happens for all the methods related to messages that have a reply.

 

public Future<RpcResult<Void>> multipartRequest(final MultipartRequestInput input)

 

Is that any reason for that or is it a bug?

 

 

Thank you for your help.

 

Best,

Giuseppe Petralia

 

 

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

MichalPolkoráb

Software Engineer


Sídlo Mlynské Nivy 56 / 821 05 Bratislava / Slovakia
R&D centrum 
Janka Kráľa 9 /  974 01 Banská Bystrica Slovakia
+421 918 378 907 / michal.polkorab@...
reception: +421 2 206 65 114 / www.pantheon.sk

logo

 


Query on ConnectionAdapterImpl

Petralia, GiuseppeX <giuseppex.petralia@...>
 

Hi all,

 

I am working with the ConnectionAdapterImpl

(https://github.com/opendaylight/openflowjava/blob/master/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/ConnectionAdapterImpl.java)

 

I can’t understand why the multipartRequest method return an object of type Future<RpcResult<Void>> instead of  Future<RpcResult<MultiparReplyMessage>>  as happens for all the methods related to messages that have a reply.

 

public Future<RpcResult<Void>> multipartRequest(final MultipartRequestInput input)

 

Is that any reason for that or is it a bug?

 

 

Thank you for your help.

 

Best,

Giuseppe Petralia

 

 

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.


Re: [openflowplugin-dev] Ignoring unsupported switch features / OVS 2.4 support

Michal Polkorab
 

Hello,


I reviewed the change - I added a few comments, but it looks fine. I also updated some info in the bug https://bugs.opendaylight.org/show_bug.cgi?id=4473.


Regards,

Michal Polkorab


From: Abhijit Kumbhare <abhijitkoss@...>
Sent: 19 November 2015 01:53
To: Aguiar, Renato
Cc: openflowjava-dev@...; openflowplugin-dev@...
Subject: Re: [openflowjava-dev] [openflowplugin-dev] Ignoring unsupported switch features / OVS 2.4 support
 
As we talked yesterday - thanks for investigating this and finding the issue. Let's hope that will help us support OVS 2.4.

On Wed, Nov 18, 2015 at 4:37 PM, Aguiar, Renato <renato.aguiar@...> wrote:
Hi,

The current implementation of openflowjava refuses to keep the connection to switches which implements unsupported features. As a result, if a supported switch implements a new feature, it could become unsupported until the controller implements the codec (serializer/deserializer) to this new feature. However, it could just ignore any unsupported feature and use only the supported ones.

This is happening today for Open vSwitch 2.4. There are some features which are not yet supported by the controller and it is keeping people from using it.

To fix that, I have submitted a patch to ignore unsupported features on table features: https://git.opendaylight.org/gerrit/29905

Feedback is appreciated.

Regards,


Renato Aguiar

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

MichalPolkoráb

Software Engineer


Sídlo Mlynské Nivy 56 / 821 05 Bratislava / Slovakia
R&D centrum 
Janka Kráľa 9 /  974 01 Banská Bystrica Slovakia
+421 918 378 907 / michal.polkorab@...
reception: +421 2 206 65 114 / www.pantheon.sk

logo

 


Re: [openflowplugin-dev] Ignoring unsupported switch features / OVS 2.4 support

Abhijit Kumbhare
 

As we talked yesterday - thanks for investigating this and finding the issue. Let's hope that will help us support OVS 2.4.

On Wed, Nov 18, 2015 at 4:37 PM, Aguiar, Renato <renato.aguiar@...> wrote:
Hi,

The current implementation of openflowjava refuses to keep the connection to switches which implements unsupported features. As a result, if a supported switch implements a new feature, it could become unsupported until the controller implements the codec (serializer/deserializer) to this new feature. However, it could just ignore any unsupported feature and use only the supported ones.

This is happening today for Open vSwitch 2.4. There are some features which are not yet supported by the controller and it is keeping people from using it.

To fix that, I have submitted a patch to ignore unsupported features on table features: https://git.opendaylight.org/gerrit/29905

Feedback is appreciated.

Regards,


Renato Aguiar

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


Ignoring unsupported switch features / OVS 2.4 support

Renato Aguiar
 

Hi,

The current implementation of openflowjava refuses to keep the connection to switches which implements unsupported features. As a result, if a supported switch implements a new feature, it could become unsupported until the controller implements the codec (serializer/deserializer) to this new feature. However, it could just ignore any unsupported feature and use only the supported ones.

This is happening today for Open vSwitch 2.4. There are some features which are not yet supported by the controller and it is keeping people from using it.

To fix that, I have submitted a patch to ignore unsupported features on table features: https://git.opendaylight.org/gerrit/29905

Feedback is appreciated.

Regards,


Renato Aguiar


Tunnel ipv4 dest builder

Pearl, Tomer <tomer.pearl@...>
 

Hello guys, I hope this is the right place for my question.

 

I'm trying to migrate my project from helium sr1 to lithium sr1 and I have an issue with setting tunnel dest ip action in a flow.

I'm using TunnelIpv4MatchBuilder and setTunnelIpv4Destination method, and I see the OFPXMT_OFB_IPV4_DST action on the packet in wireshark.

What I’m looking for is a Builder what will provide me with NXM_NX_TUN_IPV4_DST action. Can someone point me to such builder?

 

Thanks.

 


Re: [L2switch-dev] Reactive flow programming

André Martins <aanm90@...>
 

See if this helps
https://wiki.opendaylight.org/view/Editing_OpenDaylight_OpenFlow_Plugin:End_to_End_Flows:Example_Flows
--André Martins

On 05/11/15 07:56, John Schistos wrote:

Hello,

I have the mininet and an ODL controlller up.I would like to be able to write some flow rules to the controller and the controller to pass the flow rules at the switch(in mininet) only if packet-ins come and match those rules.Is that possible?I mean i tried to do it,but the flows were installed instantly to the switches.I could really use a help here.

Thank you in advance.
Ioannis


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


Reactive flow programming

John Schistos <jschistos@...>
 

Hello,

I have the mininet and an ODL controlller up.I would like to be able to write some flow rules to the controller and the controller to pass the flow rules at the switch(in mininet) only if packet-ins come and match those rules.Is that possible?I mean i tried to do it,but the flows were installed instantly to the switches.I could really use a help here.

Thank you in advance.
Ioannis


Re: [openflowplugin-dev] Li vs He - TransactionId and Error notifications

omar.m.dyson@gmail.com
 

Hi Michal, 

I reproduced the same issue using OVS:

- Created an OVS fork that return an OFPERR_OFPBAC_TOO_MANY to all flowmods.
- openflowplugin is expected to refuse all flowmods because the switch send an error for every flowmod.
- openflowplugin return successful future

Here are the steps to reproduce :

1. Compile OVS

* clone forked branch
git clone -b branch-2.3 https://github.com/omardyson/ovs.git
* Install mininet to get dependencies
apt-get install mininet
* compile ovs :
cd ovs/
 ./configure --prefix=/usr --with-linux=/lib/modules/`uname -r`/build
make
make install
make modules_install
rmmod openvswitch
depmod -a
/etc/init.d/openvswitch-controller stop
update-rc.d openvswitch-controller disable
/etc/init.d/openvswitch-switch start

2. Setup a virtual switch:

ip tuntap add dev myeth1 mode tap
ip link set dev myeth1 up
ip tuntap add dev myeth2 mode tap
ip link set dev myeth2 up
ovs-vsctl add-br sw1 -- set Bridge sw1 other_config:datapath-id=0000000000000001 -- set-fail-mode sw1 secure -- add-port sw1 myeth1 -- set Interface myeth1 ofport_request=1 -- add-port sw1 myeth2 -- set Interface myeth2 ofport_request=2 -- set-controller sw1 tcp:127.0.0.1:6633 ptcp:6634 -- set bridge sw1 other-config:disable-in-band=true -- set bridge sw1 protocols=OpenFlow13

3. Send Flowmod. In wireshark you get an OF error, but openflowplugin Li report successful future.

Thanks





On 4 November 2015 at 14:42, omar dyson <omar.m.dyson@...> wrote:
Hi Michel,

You are right, this is what I'm expecting, but openflowplugin always report successful future even if the device return an Error

Here is a capture :

Thanks,






On 4 November 2015 at 14:30, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Omar,

in Li-design you get a future object but the transactionId is null there.

Reason is simple: you do not need it. If there is an error message related to your flow then you will get failed future containing that error in exception.

If your future is successful then the flow has been accepted by device (flow-mod was sent followed by barrier request + reply).


See:

https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:He_vs_Li_comparison



Regards,

Michal





From: openflowplugin-dev-bounces@... <openflowplugin-dev-bounces@...> on behalf of omar dyson <omar.m.dyson@...>
Sent: Wednesday, November 4, 2015 15:34
To: openflowplugin-dev@...; openflowjava-dev
Subject: [openflowplugin-dev] Li vs He - TransactionId and Error notifications
 
Hi all,

In Helium RPC future result returned Transaction Id, example :

Future<RpcResult<AddFlowOutput>> rpcResult= salFlowService.addFlow(addFlowInput);
     if (rpcResult.get().isSuccessful()) {
          TransactionId id = rpcResult.get().getResult().getTransactionId()
     }

In Lithium code the getResult() always return null. Is that normal? How to get the transaction Id?

Also, the NodeErrorListener does not return OF errors as it is the case with Helium code.

I'm I missing something?

Regards,
Dyson





Re: [openflowplugin-dev] Li vs He - TransactionId and Error notifications

omar.m.dyson@gmail.com
 

Hi Michel,

You are right, this is what I'm expecting, but openflowplugin always report successful future even if the device return an Error

Here is a capture :

Thanks,






On 4 November 2015 at 14:30, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:

Hi Omar,

in Li-design you get a future object but the transactionId is null there.

Reason is simple: you do not need it. If there is an error message related to your flow then you will get failed future containing that error in exception.

If your future is successful then the flow has been accepted by device (flow-mod was sent followed by barrier request + reply).


See:

https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:He_vs_Li_comparison



Regards,

Michal





From: openflowplugin-dev-bounces@... <openflowplugin-dev-bounces@...> on behalf of omar dyson <omar.m.dyson@...>
Sent: Wednesday, November 4, 2015 15:34
To: openflowplugin-dev@...; openflowjava-dev
Subject: [openflowplugin-dev] Li vs He - TransactionId and Error notifications
 
Hi all,

In Helium RPC future result returned Transaction Id, example :

Future<RpcResult<AddFlowOutput>> rpcResult= salFlowService.addFlow(addFlowInput);
     if (rpcResult.get().isSuccessful()) {
          TransactionId id = rpcResult.get().getResult().getTransactionId()
     }

In Lithium code the getResult() always return null. Is that normal? How to get the transaction Id?

Also, the NodeErrorListener does not return OF errors as it is the case with Helium code.

I'm I missing something?

Regards,
Dyson



261 - 280 of 861