Hi Iwase,
Thank you for your reply.
I tried this code:
>> actions = [
parser.NXActionRegLoad(ofs_nbits=nicira_ext.ofs_nbits(4, 31),
dst="NXM_OF_IN_PORT[]", value=0x0),
parser.OFPActionOutput(_port)]
but in ryu console i get exception as this:
>> File
"/home/mahdie/.local/lib/python2.7/site-packages/ryu/ofproto/oxx_fields.py",
line 58, in _from_user_header
(num, t) = _get_field_info_by_name(oxx, name_to_field, name)
File
"/home/mahdie/.local/lib/python2.7/site-packages/ryu/ofproto/oxx_fields.py",
line 53, in _get_field_info_by_name
raise KeyError('unknown %s field: %s' % (oxx.upper(), name))
KeyError: 'unknown OXM field: NXM_OF_IN_PORT[]'
I review this part of your code in oxx_fields.py file:
>> def _get_field_info_by_name(oxx, name_to_field, name):
try:
f = name_to_field[name]
t = f.type
num = f.num
except KeyError:
t = type_desc.UnknownType
if name.startswith('field_'):
num = int(name.split('_')[1])
else:
raise KeyError('unknown %s field: %s' % (oxx.upper(), name))
return num, t
Unfortunately I can't find the related field name of "NXM_OF_IN_PORT[]" in
Ryu. How can I find that?
Thanks for your assistance
On Jun 26, 2017 05:04, "Iwase Yusuke" <iwase.yusu...@gmail.com> wrote:
> Hi Mahdieh,
>
> Excuse me for jumping in.
>
>
> On 2017年06月24日 03:16, Mahdieh Shariat wrote:
>
>> Hi, Fujimoto
>>
>> Thank you very much for the prompt reply. It works.
>>
>> But I have another problem in developing my app. In my app when I'm
>> installing rules on tables, I have a rule for two situations in a switch:
>> 1. when a packet is incoming to in_port_1 and will go to out_port_2
>> 2. when a packet is incoming to in_port_2 and will go to out_port_2
>>
>> should I have two separate rules for these situations? May I have a
>> common action for them? Is there any ryu action for changing the input_port
>> field in ovs switch, like this:
>>
>> » ovs-ofctl add-flow br0 in_port=2,actions=load:0->NXM_OF_IN_PORT[],2
>>
>
> How about using OFPActionSetField?
> This action is almost equivalent to "load" action of OVS.
>
> http://ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html#ry
> u.ofproto.ofproto_v1_3_parser.OFPActionSetField
>
> If you want to use "load" action of OVS via Ryu, please refer to the
> following document.
>
> http://ryu.readthedocs.io/en/latest/nicira_ext_ref.html#ryu.
> ofproto.ofproto_v1_3_parser.NXActionRegLoad
>
> Thanks,
> Iwase
>
>
>
>> Thanks
>>
>> On Thu, Jun 22, 2017 at 12:25 PM, Fujimoto Satoshi <
>> satoshi.fujimo...@gmail.com <mailto:satoshi.fujimo...@gmail.com>> wrote:
>>
>> Hi, Mahdieh
>>
>> You can use "ofproto.OFPP_IN_PORT" to do it.
>>
>> actions = [parser.OFPActionOutput(ofproto.OFPP_IN_PORT)]
>> self.add_flow(datapath, 0, match, actions)
>>
>> Then, the flow shown below will be installed.
>>
>> $ovs-ofctl -O OpenFlow13 dump-flows s1
>> OFPST_FLOW reply (OF1.3) (xid=0x2): cookie=0x0, duration=2.975s,
>> table=0, n_packets=13,
>> n_bytes=1026, priority=0 actions=IN_PORT
>>
>>
>> Thanks,
>> Fujimoto
>>
>>
>> On 2017年06月22日 16:30, Mahdieh Shariat wrote:
>>
>>>
>>> Hi,
>>> I want an ovs switch outputs a packet to its receiving port, but in
>>> ovs doc I read:
>>>
>>> actions=[action][,action...]
>>> port
>>> output:port
>>> Outputs the packet to OpenFlow port number
>>> port. If port is the packet's
>>> input port, the packet is not output.
>>>
>>> so with bellow Ryu code:
>>> » actions = [ofproto_parser.OFPActionOutput(output_port)]
>>> when input_port== output_port, the packet is dropped.
>>>
>>> I find a new action in ovs :
>>> in_port
>>> Outputs the packet on the port from
>>> which it was
>>> received.
>>> but I can't find this action in Ryu... could you please help me to
>>> write a code like this:
>>> » if (in_port == port):
>>> actions=[ofproto_parser.OFPActionInPort()]
>>>
>>> I'm using ovs 2.7 and openflow 1.3
>>>
>>> Thanks in advance
>>>
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org!http://sdm.link/slashdot
>>>
>>>
>>> _______________________________________________
>>> Ryu-devel mailing list
>>> Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.source
>>> forge.net>
>>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>> <https://lists.sourceforge.net/lists/listinfo/ryu-devel>
>>>
>>
>>
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>
>>
>>
>> _______________________________________________
>> Ryu-devel mailing list
>> Ryu-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>
>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel