[ovs-discuss] Is there any document about nicira externtion

kai xi fan kaixi.f at gmail.com
Wed Sep 4 06:50:39 UTC 2019


Hi Ashish Varma,

I think I have misunderstand the experimental message and nxm_match.
The match field is only contained in "flow_mod" or other messages.
But experimental  openflow message could not be "flow_mod" message. For
example, it could be "nxm_set_packet_in" message.

Thanks. Regards

kai xi fan <kaixi.f at gmail.com> 于2019年9月4日周三 下午12:12写道:

> Hi Ashish Varma,
>
> I have read the document as https://patchwork.ozlabs.org/patch/1145870/
> When controller wants to send a flow to ovs through openflow, and the flow
> both contains nicira match and openflow match. What's the value of "message
> type" in "struct ofp_header".
> Do the message contain both nxm_match and oxm_match structures ?
>
> thanks. Regards
>
> kai xi fan <kaixi.f at gmail.com> 于2019年8月21日周三 下午2:42写道:
>
>> Many thanks. I will check that.
>> The "nxm_packet_in_2" packet_in format contains userdata field.  It
>> could be used to save arp or dhcp data corresponded to the host in the
>> flow. Then the controller do not need to constructor these caches.
>> It's used in ovn.
>>
>> Ashish Varma <ashishvarma.ovs at gmail.com> 于2019年8月21日周三 上午12:46写道:
>>
>>> I have attempted to write a document explaining the Nicira extension
>>> which is still a v1 patch for review.
>>>
>>> https://patchwork.ozlabs.org/patch/1145870/
>>>
>>> Nicira extensions were added in the early days of OVS during early
>>> OpenFlow versions and a lot of those extensions made it to standard
>>> OpenFlow specifications.
>>> packet_in message is supported in OpenFlow 1.3. Any specific reason to
>>> use nxm_packet_in_2?
>>>
>>> Below is an example of OpenFlow 1.0 Nicira Vendor message 'Flow Mod'
>>> with 'NXM' or Nicira Extensible Match fields generated using:
>>> ovs-ofctl add-flow br1 "table=10, priority=100,
>>> cookie=0x0102030405060708 ip, sctp, sctp_dst=9, actions=drop"
>>>
>>> This is an example to show how NXM is encoded.
>>>
>>> OVS NXM fields are described at
>>> http://www.openvswitch.org/support/dist-docs/ovs-fields.7.txt
>>>
>>> 0x01    0x04    0x00    0x48    0x00    0x00    0x00    0x0a
>>> 0x00    0x00    0x23    0x20    0x00    0x00    0x00    0x0d
>>> 0x01    0x02    0x03    0x04    0x05    0x06    0x07    0x08
>>> 0x0a    0x00    0x00    0x00    0x00    0x00    0x00    0x64
>>> 0xff    0xff    0xff    0xff    0xff    0xff    0x00    0x00
>>> 0x00    0x11    0x00    0x00    0x00    0x00    0x00    0x00
>>> 0x00    0x00    0x06    0x02    0x08    0x00    0x00    0x00
>>> 0x0c    0x01    0x84    0x80    0x00    0x24    0x02    0x00
>>> 0x09    0x00    0x00    0x00    0x00    0x00    0x00    0x00
>>>
>>>
>>> // ofp_header with Version=1, Message Type=4 (Vendor)
>>> 0x01    0x04    0x00    0x48    0x00    0x00    0x00    0x0a
>>>
>>> // Vendor id = 0x00002320 Subtype = 0x00 0x0d   (Where are these defined
>>> ??)
>>> 0x00    0x00    0x23    0x20    0x00    0x00    0x00    0x0d
>>>
>>> // Cookie
>>> 0x01    0x02    0x03    0x04    0x05    0x06    0x07    0x08
>>>
>>> // Command = 0x0a 0x00 (table-id=0x0a,command=add(0x00))  idle_time = 0
>>> hard_time = 0 priority = 100
>>> 0x0a    0x00    0x00    0x00    0x00    0x00    0x00    0x64
>>>
>>> // buffer_id = 0xffffffff out_port = OFPP_NONE(0xffff) flags = 0
>>> 0xff    0xff    0xff    0xff    0xff    0xff    0x00    0x00
>>>
>>> // match_len = 0x11 padding= 0x000000000000
>>> 0x00    0x11    0x00    0x00    0x00    0x00    0x00    0x00
>>>
>>> // OFPXMC12_NXM_0 (nxm_vendor 0x0000)
>>> nxm_field+hm=0x06,nxm_field=0x03,hm=0 nxm_length=0x02 value=0x0800
>>> (ethernet)
>>> 0x00    0x00    0x06    0x02    0x08    0x00
>>>
>>> // OFPXMC12_NXM_0 (nxm_vendor 0x0000)
>>> nxm_field+hm=0x0c,nxm_field=0x06,hm=0 nxm_length=0x01 value=0x84 (sctp)
>>> 0x00    0x00    0x0c    0x01    0x84
>>>
>>> // OFPXMC_OPENFLOW_BASIC (0x8000) nxm_field+hm=0x24,nxm_field=0x12,hm=0
>>> nxm_length=0x02 value=0x09 (sctp_dst_port)
>>> 0x80    0x00    0x24    0x02    0x00    0x09
>>>
>>> // padding 7 bytes of 0s
>>> 0x00    0x00    0x00    0x00    0x00    0x00    0x00
>>>
>>>
>>>
>>> Thanks,
>>> Ashish
>>>
>>> On Tue, Aug 20, 2019 at 3:45 AM kai xi fan <kaixi.f at gmail.com> wrote:
>>>
>>>> Thanks.
>>>> I have read the following file.
>>>> https://github.com/openvswitch/ovs/blob/master/include/openflow/nicira
>>>> -ext.h
>>>> But it's too simple to understand. For example, nicira extension use
>>>> properties in "nxm packet_in_2" packet in format. But there is no such
>>>> openflow message format in detail.
>>>> I have to tcpdump the openflow packet to understand it.
>>>> May be there is a official document about this ?
>>>>
>>>> Numan Siddique <nusiddiq at redhat.com> 于2019年8月20日周二 下午3:37写道:
>>>>
>>>>>
>>>>>
>>>>> On Tue, Aug 20, 2019 at 7:35 AM kai xi fan <kaixi.f at gmail.com> wrote:
>>>>>
>>>>>> I am writing a controller to control ovs through openflow protocol.
>>>>>> I found that  when I dump flows from ovs using ovs-ofctl. It shows
>>>>>> me so many fields prefixed with "NXM".
>>>>>> And we plan to use "nxm packet_in_2" format. It also needs nicira
>>>>>> extensions.
>>>>>> So if the controller wants to communicate with ovs using openflow
>>>>>> 1.3, I have to deal with nicira extensions.
>>>>>> But I could not found any document about its format and the
>>>>>> corresponding openflow message format.
>>>>>> Could any one help me ?
>>>>>>
>>>>>
>>>>> I think you can find useful information here -
>>>>> https://github.com/openvswitch/ovs/blob/master/include/openflow/nicira-ext.h
>>>>>
>>>>> Thanks
>>>>> Numan
>>>>>
>>>>>
>>>>>> thanks.
>>>>>> _______________________________________________
>>>>>> discuss mailing list
>>>>>> discuss at openvswitch.org
>>>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>>>>>>
>>>>> _______________________________________________
>>>> discuss mailing list
>>>> discuss at openvswitch.org
>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20190904/98859ec2/attachment.html>


More information about the discuss mailing list