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 <[email protected]> 于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 <[email protected]> 于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 <[email protected]> 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 <[email protected]> 于2019年8月20日周二 下午3:37写道: >>> >>>> >>>> >>>> On Tue, Aug 20, 2019 at 7:35 AM kai xi fan <[email protected]> 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 >>>>> [email protected] >>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss >>>>> >>>> _______________________________________________ >>> discuss mailing list >>> [email protected] >>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss >>> >>
_______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
