cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
760
Views
0
Helpful
2
Replies

OpenFlow Plug-in Action Combinations Error

hoomi
Level 1
Level 1

Using Cisco Plug-in for OpenFlow on a Catalyst 3850, I would like to add a flow entry that matches on some fields and performs an action combination, in which both the destination IPv4 address and destination TCP port are modified. I am using Ryu as my controller and here's the relevant piece of the code: 

actions = [parser.OFPActionSetField(tcp_dst=33333),
            parser.OFPActionSetField(ipv4_dst="1.2.3.4"),
            parser.OFPActionOutput(out_port)]

 

 When I run it I get the following error message:

EventOFPErrorMsg received.
version=0x4, msg_type=0x1, msg_len=0x4c, xid=0x110e2025
`-- msg_type: OFPT_ERROR(1)
OFPErrorMsg(type=0x1, code=0x5, data=b'\x04\x0e\x00\x90\x11\x0e\x20\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x25\x80\x00\x00\x04\x00\x00\x13\xea\x80\x00\x0a\x02')
|-- type: OFPET_BAD_REQUEST(1)
|-- code: OFPBRC_EPERM(5)
`-- data: version=0x4, msg_type=0xe, msg_len=0x90, xid=0x110e2025
`-- msg_type: OFPT_FLOW_MOD(14)

 

The code runs with no issues when I try to modify source IPv4 address and source TCP port:

actions = [parser.OFPActionSetField(tcp_src=33333),
            parser.OFPActionSetField(ipv4_src="1.2.3.4"),
            parser.OFPActionOutput(out_port)]

 

The configuration guide says that:

  • Some action combinations which are not supported may be rejected at flow programming time.

But there is no information on what action combinations are allowed. I'm a bit surprised that changing source IPv4 address and TCP port is allowed but changing destination IPv4 address and TCP port is not!

I'm wondering if what I'm looking for can be achieved with the Cisco Plug-in for OpenFlow.

2 Replies 2

Hey, I was just curious what you did to get the .ova installed on the 3850. The commands listed in the install guide don't exist, and I'm running 16.8.1a.

Did you use virtual-service install name virtual-services-name package file cli to install it? virtual-service doesnt exist as a command.

Reham.Mohamed
Level 1
Level 1

I know it is a very old post but I would really appreciate any help. I have installed openflow plugin and it is connected to RYU controller. However, it does not really respond to any actions from the controller. Were you able to make them work together (I mean RYU controller and openflow plugin on c3850 switch)

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: