<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Adding an Experimenter match field in Software Defined Networking</title>
    <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936303#M1104</link>
    <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;It is exciting to see that you are trying to use the customizable match fields feature on our switches.&lt;/P&gt;&lt;P&gt;When the OXM class type in the OXM header of a OFPTFPT_MATCH field is&amp;nbsp;OFPXMC_EXPERIMENTER, the switch will parse the&amp;nbsp;information in the OXM header as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The OpenFlow Admin Guide talk in detail about how the OXM header needs to be setup for a customizable match field both in the&amp;nbsp;OFPMP_TABLE_FEATURES message and the OFPT_FLOW_MOD message.&lt;/P&gt;&lt;P&gt;I am attaching a sample packet trace that defines a table (0) with 2 custom match fields&amp;nbsp;TCP Sequence and Acknowledgement numbers along with the standard OXM fields ETH_TYPE and IP_PROTO. (Please rename the extension back to .pcap to open it with a packet analyzer tool like wireshark)&lt;/P&gt;&lt;P&gt;The packet trace also has a sample flow-mod request that adds an entry to this table with the following match,&lt;/P&gt;&lt;P&gt;ETH_TYPE=0x800, IP_PROTO=6, TCP_ACK_NUM(Field=6)=0x98765432,TCP_SEQ_NUM(Field=5)=0x12345678.&lt;/P&gt;&lt;P&gt;Hope this helps you better understand how the experimenter fields are encoded.&lt;/P&gt;&lt;P&gt;We used sample VAN applications to send both the OFPMP_TABLE_FEATURES and OFP_FLOW_MOD messages with experimenter match fields.&lt;/P&gt;&lt;P&gt;Any OpenFlow controller that supports libraries to encode an OXM_MATCH field with class type&amp;nbsp;&lt;SPAN&gt;OFPXMC_EXPERIMENTER can be used. (Ex: HPE VAN, RYU etc.,)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Let me know if you have further questions on this topic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
    <pubDate>Wed, 01 Feb 2017 04:58:19 GMT</pubDate>
    <dc:creator>Abhay_B</dc:creator>
    <dc:date>2017-02-01T04:58:19Z</dc:date>
    <item>
      <title>Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936040#M1103</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using an Aruba 2930F switch. I want to add an experimenter match field, and I am trying to follow the example in the guide&amp;nbsp;of TCP sequence number. If I understand correctly the header length would be 112 bits as the following:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;0xffff050a00002481000300040004&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;it made me confused since the Experimenter filed header should be 64 bits according to the OpenFlow&amp;nbsp;documentation!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is this how the&amp;nbsp;OFPTFPT_MATCH array &amp;nbsp;in the table features message should look like:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;OFTableFeaturePropMatchVer13(oxmIds=[0x80000004, 0x80000706, 0x80000906 .....(any other basic 32bit oxmids),&lt;SPAN&gt;0xffff050a00002481000300040004&lt;/SPAN&gt;])&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Can you please provide me with an example of a correct&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;OFPTFPT_MATCH array that has an experimenter field in addition to the basic oxm&amp;nbsp;fields, and which controller can be used to achieve this?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;Enas&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jan 2017 09:33:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936040#M1103</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-01-31T09:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936303#M1104</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;It is exciting to see that you are trying to use the customizable match fields feature on our switches.&lt;/P&gt;&lt;P&gt;When the OXM class type in the OXM header of a OFPTFPT_MATCH field is&amp;nbsp;OFPXMC_EXPERIMENTER, the switch will parse the&amp;nbsp;information in the OXM header as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The OpenFlow Admin Guide talk in detail about how the OXM header needs to be setup for a customizable match field both in the&amp;nbsp;OFPMP_TABLE_FEATURES message and the OFPT_FLOW_MOD message.&lt;/P&gt;&lt;P&gt;I am attaching a sample packet trace that defines a table (0) with 2 custom match fields&amp;nbsp;TCP Sequence and Acknowledgement numbers along with the standard OXM fields ETH_TYPE and IP_PROTO. (Please rename the extension back to .pcap to open it with a packet analyzer tool like wireshark)&lt;/P&gt;&lt;P&gt;The packet trace also has a sample flow-mod request that adds an entry to this table with the following match,&lt;/P&gt;&lt;P&gt;ETH_TYPE=0x800, IP_PROTO=6, TCP_ACK_NUM(Field=6)=0x98765432,TCP_SEQ_NUM(Field=5)=0x12345678.&lt;/P&gt;&lt;P&gt;Hope this helps you better understand how the experimenter fields are encoded.&lt;/P&gt;&lt;P&gt;We used sample VAN applications to send both the OFPMP_TABLE_FEATURES and OFP_FLOW_MOD messages with experimenter match fields.&lt;/P&gt;&lt;P&gt;Any OpenFlow controller that supports libraries to encode an OXM_MATCH field with class type&amp;nbsp;&lt;SPAN&gt;OFPXMC_EXPERIMENTER can be used. (Ex: HPE VAN, RYU etc.,)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Let me know if you have further questions on this topic.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Wed, 01 Feb 2017 04:58:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936303#M1104</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-01T04:58:19Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936373#M1105</link>
      <description>&lt;P&gt;Thank you Abhay for your reply, you have been very helpful!&lt;/P&gt;&lt;P&gt;Ok so it seems you split the Experimenter header into 32bit segments. I have tried sending the same set of match fields (&lt;SPAN&gt;TCP Sequence and Acknowledgement numbers along with the standard OXM fields ETH_TYPE and IP_PROTO&lt;/SPAN&gt;) to table 0, however, I get the following error:&lt;/P&gt;&lt;PRE&gt;0010:01:39:43.01 OPFL eOFNetTask:RX from tcp:10.0.0.1:6653: 0: Table 0 received 
   has match 5 which cannot be supported&lt;/PRE&gt;&lt;P&gt;I have attached the .pcap&amp;nbsp;file that has the table features request. If I simply remove the two custom fields the request is executed&amp;nbsp;successfully and the tables are created.&lt;/P&gt;&lt;P&gt;Do you know what I might be doing wrong?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note: I found it strange that you used 0a and 0c for the (OXM_FIELD) instead of 05 and 06 like it is described in the guide.&lt;/P&gt;&lt;P&gt;Thank you &amp;nbsp;in advance,&lt;/P&gt;&lt;P&gt;Enas&lt;/P&gt;</description>
      <pubDate>Wed, 01 Feb 2017 11:04:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936373#M1105</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-01T11:04:37Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936592#M1108</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;The OXM field is the upper 7 bits of the byte and the lower bit is used to determine if the field is maskable.&lt;/P&gt;&lt;P&gt;Hence when the field is 5 with no masking capability, it translates to a value of 0xa for the byte and 0xc for field 6.&lt;/P&gt;&lt;P&gt;Regarding the error you see, I don't see anything wrong in the TABLE_FEATURES message you are pushing to the switch.&lt;/P&gt;&lt;P&gt;I take it you are currently running the 16.02 firmware. Can you please upgrade your switch firmware to 16.03.0003 and re-run your test? It is possible that the error you see was a switch firmware bug that was fixed in 16.03.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Thu, 02 Feb 2017 03:42:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6936592#M1108</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-02T03:42:21Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6938782#M1110</link>
      <description>&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;SPAN&gt;I take it you are currently running the 16.02 firmware. Can you please upgrade your switch firmware to 16.03.0003 and re-run your test? It is possible that the error you see was a switch firmware bug that was fixed in 16.03.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Thanks again Abhay for your reply. You are right when I upgraded to 16.03 the error disappeared, and the match fields were added. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;The OXM field is the upper 7 bits of the byte and the lower bit is used to determine if the field is maskable.&amp;nbsp;&lt;/FONT&gt;&lt;FONT color="#FF0000"&gt;Hence when the field is 5 with no masking capability, it translates to a value of 0xa for the byte and 0xc for field 6.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Aha I see, I hope the guide gets updated to include this in defining&amp;nbsp;a custom field instead of using 0x05 and 0x6 (I believe with masking capability it would be 0xb and 0xd).&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Ok, now I am trying to understand the format of the flow mod message. Let's take the&amp;nbsp;&lt;SPAN&gt;TCP_ACK_NUM(Field=6)=0x98765432 match example. According to the flow-mod example you sent the match for the TCP_ACK_NUM should be :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ffff 0c&amp;nbsp;&lt;STRONG&gt;18&lt;/STRONG&gt; 00002481 00000004 98765432&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am a bit confused about the 0x18. which in the guide explained as the&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;OXM_LEN: The length of the experimenter header excluding the OXM header&lt;/STRONG&gt;&lt;/EM&gt;. So why is it 0x18 since we set the oxm_len to 0x0a in the table features?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am trying to define a custom field of 128bits (16 bytes) that is parsed after the UDP header (8 bytes). I defined the field as the following in the table feature:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ffff&amp;nbsp;0a 0a 00002481 0003 0008 0010 &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The field is created successfully&amp;nbsp;on the switch.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However, when I create a flow-mod to match against this field I get an error of&amp;nbsp;OFBadMatchErrorMsgVer13(xid=46, code=BAD_FIELD, and sometimes the switch suddenly reboots! &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is this how the match of my field in the flow-mod should look like ??&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ffff&amp;nbsp;0a 14 00002481&amp;nbsp;00000010 &lt;EM&gt;3133 5444 4538 3930 3631 3433 3638 3730&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;where 0x31335444453839303631343336383730 is my match data.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2017 14:49:46 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6938782#M1110</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-09T14:49:46Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939025#M1111</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;Glad to know moving to 16.03 helped you progress.&lt;/P&gt;&lt;P&gt;I will take note of clarifiying the values associated with the OXM_FIELD in the Admin Guide.&lt;/P&gt;&lt;P&gt;With masking set, yes the fields would be 0xb and 0xd instead of 0xa and 0xc respectively.&lt;/P&gt;&lt;P&gt;Regarding your following query -&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;EM&gt;"I am a bit confused about the 0x18. which in the guide explained as the&lt;STRONG&gt;&amp;nbsp;OXM_LEN: The length of the experimenter header excluding the OXM header&lt;/STRONG&gt;. So why is it 0x18 since we set the oxm_len to 0x0a in the table features? "&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;Remember, the OXM_LEN is for the current OXM header. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;In case of the TABLE_FEATURES request message, the OXM Experimenter header has only the following data post the&amp;nbsp;OXM header itself:&lt;/FONT&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;HPE OUI ID (4 bytes) + START_TYPE (2 bytes) + OFFSET_START (2 bytes) + NUM_BYTES (2 bytes) = 10 bytes (0xa)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;In case of the FLOW_MOD message, the OXM Experimenter header has the following data post the OXM header itself:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;HPE OUI ID (4 bytes) + LENGTH_OF_MATCH_DATA (4 bytes) + MATCH_DATA (16bytes &lt;U&gt;always&lt;/U&gt;) = 24 bytes (0x18)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;Coming to your example,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Is this how the match of my field in the flow-mod should look like ??&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;ffff&amp;nbsp;0a &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;14&lt;/STRONG&gt; &lt;/FONT&gt;00002481&amp;nbsp;00000010 3133 5444 4538 3930 3631 3433 3638 3730&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;If you observe closely, the OXM_LEN in your example is set incorrectly to 20 bytes (0x14) instead of 24 bytes (0x18).&lt;/P&gt;&lt;P&gt;Thus the switch is rejecting the flow since it doesn't contain the 16 bytes of data it expects based on the definition of the field in TABLE_FEATURES request message.&lt;/P&gt;&lt;P&gt;Also, the OXM_LEN for a custom match OXM_EXPERIMENTER field which is non maskable should always be 24 bytes (0x18), the switch will only consider the relevant match data based on the LENGTH_OF_MATCH_DATA set.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 03:39:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939025#M1111</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-10T03:39:45Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939458#M1112</link>
      <description>&lt;P&gt;Hi Abhay,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I really appreciate your help,&lt;/P&gt;&lt;P&gt;Ok so when I correct the length and I set my match field to:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;ffff&amp;nbsp;0a &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;18&lt;/STRONG&gt;&amp;nbsp;&lt;/FONT&gt;00002481&amp;nbsp;00000010 3133 5444 4538 3930 3631 3433 3638 3730&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;I no longer get the bad field error, however, I get the error OFBadMatchErrorMsgVer13(xid=20, code=BAD_WILDCARDS. The first pcap&amp;nbsp;file attached has the packets capture. Any idea?&lt;/P&gt;&lt;P&gt;Moreover, I actually aim to have this same field with mask capabilities (I was trying the basic field first before moving to the more complex case). I define my field as the following in the table feature msg:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ffff&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt; 0a 00002481 0003 0008 0010 &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;and as the following in the match msg:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;ffff&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;28&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;00002481&amp;nbsp;000000&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;20&lt;/FONT&gt;&lt;/STRONG&gt; 3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Where FFFF FFFF FFFF FF00 0000 FFFF 0000 0000 is my mask.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;However, I get the error OFBadMatchErrorMsgVer13(xid=46, code=BAD_FIELD.&amp;nbsp;&lt;SPAN&gt;The second&amp;nbsp;&lt;/SPAN&gt;pcap&lt;SPAN&gt;&amp;nbsp;file attached has the packets capture.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have also tried:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;ffff&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;28&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;00002481&amp;nbsp;000000&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;10&lt;/FONT&gt;&lt;/STRONG&gt; 3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;and&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;ffff&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;1&lt;FONT color="#FF0000"&gt;8&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;00002481&amp;nbsp;000000&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;10&lt;/FONT&gt;&lt;/STRONG&gt; 3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;But got the same error. I didn't&amp;nbsp;find any information that explains&amp;nbsp;how to define a custom match field with masking in the guide, so any help would be useful.&lt;/P&gt;&lt;P&gt;Thanks a bunch!&lt;/P&gt;&lt;P&gt;Enas&lt;/P&gt;</description>
      <pubDate>Sun, 12 Feb 2017 10:03:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939458#M1112</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-12T10:03:41Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939592#M1113</link>
      <description>&lt;P&gt;Ok so I have figured the answer to my first question: I was getting&amp;nbsp;&lt;SPAN&gt;code=BAD_WILDCARDS because I needed to add all the the match fields that are not set in my flow-mod to the OFTableFeaturePropWildcards of the table,&amp;nbsp;including the custom fields. the trick was that I had to add the custom fields in the wildcard list in the following format&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;ffff0a0a 00002481&lt;STRONG&gt; only and not&lt;/STRONG&gt;&amp;nbsp;ffff&lt;FONT color="#000000"&gt;0a&lt;/FONT&gt;0a 00002481 0003 0008 0010 !!&lt;/P&gt;&lt;P&gt;So I will wait for your answer on my second question regarding defining a custom field with mask capabilities :)&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Enas&lt;/P&gt;</description>
      <pubDate>Mon, 13 Feb 2017 13:00:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939592#M1113</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-13T13:00:49Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939660#M1114</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;Yes the first error was because of the missing wildcards definition for the first table.&lt;/P&gt;&lt;P&gt;Regarding the second error, can you please enable debug for OpenFlow and share the error string returned by the switch for the flow which fails.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;debug destination session&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;debug openflow error&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;It will help us understand the reason for failure much better.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Mon, 13 Feb 2017 15:54:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939660#M1114</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-13T15:54:27Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939959#M1115</link>
      <description>&lt;P&gt;If I enable the debug for openflow errors and the destination session and then send out the flow-mod with the masked custom field the switch reboots! So I am unable to use these debug features.&lt;/P&gt;&lt;P&gt;However, this is the error I&amp;nbsp;get in the message statistics:&lt;/P&gt;&lt;P&gt;OFPBMC_BAD_FIELD 1&lt;BR /&gt;The table doesn't support match on at least one field in the rule.&lt;/P&gt;&lt;P&gt;It seems I am not defining the custom match field with mask correctly. Can you please let me know what is the correct header format (in the feature table match prop and the flow-mod match entries) for a custom field with mask?&lt;/P&gt;&lt;P&gt;I defined it this way in the match prop. I set it to 0b instead of 0a to set the wildcard bit.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ffff&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt;&lt;SPAN&gt; 0a 00002481 0003 0008 0010 &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;And this way in the flow-mod match:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;ffff&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;0b&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;28&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;00002481&amp;nbsp;000000&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;20&lt;/FONT&gt;&lt;/STRONG&gt; 3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Where FFFF FFFF FFFF FF00 0000 FFFF 0000 0000 is my mask.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;I set the length to 28 instead of 18 to add the 16 bytes of the mask (24+16=40 == 0x28). And I set the length to 20 instead of 10 for the same reason (16 + 16 = 32 == 0x20). However, this seems&amp;nbsp;incorrect&amp;nbsp;because the table does not identify the field. The pcap&amp;nbsp;file (BAD_FIELD) is attached to my previous msg.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Feb 2017 10:49:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6939959#M1115</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-14T10:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6940507#M1122</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;It seems like a switch firmware bug is causing the device to reboot when you have debug turned on while pushing a flow with a custom match field. We will&amp;nbsp;investigate it.&lt;/P&gt;&lt;P&gt;Regarding the usage of custom match field with masks in the flow, I don't see anything obviously wrong in the format of the OXM header in your example. It is again possible that it is a switch firmware bug that is causing the flow to error out.&lt;/P&gt;&lt;P&gt;We will try to recreate this locally in our lab and get back to you on it.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;&lt;P&gt;PS:&amp;nbsp;This might take a while&amp;nbsp;since I am currently out of office through next week.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Feb 2017 17:21:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6940507#M1122</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-15T17:21:10Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6940513#M1123</link>
      <description>&lt;P&gt;Thanks Abhay,&lt;/P&gt;&lt;P&gt;Aha I see. Can you or one of your colleagues meanwhile just send me a pcap&amp;nbsp;of a custom field with a mask (similar to the one you sent me of the TCP sequence number only with a mask), that would be very useful for me!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Feb 2017 17:43:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6940513#M1123</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-15T17:43:13Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6941945#M1899</link>
      <description>&lt;P&gt;I am starting to feel that the switch does not support a custom match field with mask, because I have tried every possible header format and it didn't work :)&lt;/P&gt;&lt;P&gt;If a pcap is hard to get, maybe someone can just provide me with a written format for a custom field with mask&amp;nbsp;headers ?&lt;/P&gt;</description>
      <pubDate>Tue, 21 Feb 2017 07:53:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6941945#M1899</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-21T07:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944009#M1910</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;Thanks for your patience with this request.&lt;/P&gt;&lt;P&gt;The design of the solution accomodates for the support of masking with custom match fields. The most logical explanation for it to not work currently is a possible switch firmware bug. I am working with the team to recreate the issue you reported and confirm the same.&lt;/P&gt;&lt;P&gt;If we conclude that it is indeed a switch firmware bug, we will fix this in one of the upcoming releases of the firmware.&lt;/P&gt;&lt;P&gt;Meanwhile, can you please share the pcap of the TableFeatureRequest message which has the tables with masked custom matches in it. The previous pcaps you have shared don't have that particular message.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 04:12:12 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944009#M1910</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-28T04:12:12Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944014#M1911</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;I just verified programming a table with maskable custom match field and subsequently programming a flow with a masked custom match field on a 2930F running the 16.03 firmware is successful.&lt;/P&gt;&lt;P&gt;I have attached a pcap of the flow-mod with a masked custom match field.&lt;/P&gt;&lt;P&gt;And here is the show command output of the programmed flow.&lt;/P&gt;&lt;P&gt;Aruba-2930F-24G-4SFP(openflow)# show openflow instance aggregate flows flow-table 6&lt;/P&gt;&lt;P&gt;OpenFlow Flow Table&lt;/P&gt;&lt;P&gt;Flow 1&lt;BR /&gt;Match&lt;BR /&gt;Incoming Port : Any Ethernet Type : IP&lt;BR /&gt;Source MAC : Any Destination MAC : Any&lt;BR /&gt;Source MAC Mask : 000000-000000&lt;BR /&gt;Destination MAC Mask : 000000-000000&lt;BR /&gt;VLAN ID : Any VLAN Priority : Any&lt;BR /&gt;Source IP Address : Any&lt;BR /&gt;Destination IP Address : Any&lt;BR /&gt;IP Protocol : TCP&lt;BR /&gt;IP ECN : Any IP DSCP : Any&lt;BR /&gt;Source Port : Any Destination Port : Any&lt;BR /&gt;Source Port Range : NA&lt;BR /&gt;Destination Port Range : NA&lt;BR /&gt;TCP Flags : NA&lt;BR /&gt;&lt;FONT color="#339966"&gt;Custom Match One : 0x12345678&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;Custom Match One Mask : 0xff00ffff&lt;/FONT&gt;&lt;BR /&gt;Custom Match Two : Any&lt;BR /&gt;Custom Match Two Mask : Any&lt;BR /&gt;Custom Match Three : Any&lt;BR /&gt;Custom Match Three Mask : Any&lt;BR /&gt;Custom Match Four : Any&lt;BR /&gt;Custom Match Four Mask : Any&lt;BR /&gt;Attributes&lt;BR /&gt;Priority : 35000 Duration : 44 seconds&lt;BR /&gt;Hard Timeout : 0 seconds Idle Timeout : 0 seconds&lt;BR /&gt;Byte Count : 0 Packet Count : 0&lt;BR /&gt;Flow Table ID : 6 Controller ID : listen-port&lt;BR /&gt;Cookie : 0x0&lt;BR /&gt;Hardware Index: NA&lt;BR /&gt;Instructions&lt;BR /&gt;Write Actions&lt;BR /&gt;Output : 10&lt;/P&gt;&lt;P&gt;And the hex dump of the OXM Experimenter field in the flow-mod. The custom match field in my case is a 4 byte field.&lt;/P&gt;&lt;P&gt;0000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ff ff 0b 2c 00 00 24 81 00 00 00 04 12 34 56 78&lt;BR /&gt;0010 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04&lt;BR /&gt;0020 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ff 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00&lt;/P&gt;&lt;P&gt;At this point, I don't believe there is any bug in the switch firmware and the functionality should work as expected.&lt;/P&gt;&lt;P&gt;Please let us know if you still face any troubles to get the feature to work.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 05:19:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944014#M1911</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-28T05:19:03Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944020#M1912</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;I took another look at the flow-mod encoding of the experimenter field in your example and I see&amp;nbsp;a problem.&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;ffff&amp;nbsp;0b&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;28&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;00002481&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;00000020 &lt;/STRONG&gt;&lt;/FONT&gt;3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;The encoding is setting the length for both the value and mask in one go. Instead, it should be 2 different length fields each for value and mask. That is,&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;ffff&amp;nbsp;0b&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;2c&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;00002481&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;00000010&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;3133 5444 4538 3930 3631 3433 3638 3730&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;00000010&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;FFFF FFFF FFFF FF00 0000 FFFF 0000 0000&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;I do understand this wasn't clarified in the Admin Guide and hence the confusion. I will get the Admin Guide updated with these details in the next release.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;I hope with this change, you will be able to successfully program a flow with a masked custom match field.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Thanks!&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Abhay&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 05:34:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944020#M1912</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-28T05:34:28Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944064#M1914</link>
      <description>&lt;P&gt;Yes it finally worked! Thank you for following up, and yes I urge you to update the guide and include the complete description, it would save &lt;STRONG&gt;a&lt;/STRONG&gt; &lt;STRONG&gt;lot&lt;/STRONG&gt; of time for folks like me!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 08:54:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944064#M1914</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-28T08:54:17Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944101#M1915</link>
      <description>&lt;P&gt;I have one last question regarding the custom fields and I thought to ask it on this same thread before closing it.&lt;/P&gt;&lt;P&gt;In the table feature message I had to create 2 custom fields in order for the message to succeed (Although, I only need one custom field and as you know each custom field is a group by it self to it becomes limiting to have this extra custom field that I don't&amp;nbsp;really need). &amp;nbsp;But when I create only one custom field the table feature message fails.&lt;/P&gt;&lt;P&gt;The&amp;nbsp;&lt;SPAN&gt;OFTableFeaturePropMatch takes a list of 32 bits. The experimenter match field header in the HP switch is 112 bits (However, as I mentioned in my first post it is 64 bits in the OpenFlow standard!). so 112/32=3.5, thus, you would get 16 bits at the end. However, if you have two custom fields things work out great because&amp;nbsp;you will get 112+112= 224, and 224/32=7 and the message succeeds.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have attached a pcap&amp;nbsp;file with my attempt&amp;nbsp;to define only one custom field.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I get the following error:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;OFTableFeaturesFailedErrorMsgVer13(xid=20, code=BAD_ARGUMENT&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;OFPTFFC_BAD_ARGUMENT 1&lt;BR /&gt;An unsupported match type was part of the request.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Am I doing something&amp;nbsp;wrong? How can I correctly define one custom match field?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Enas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 09:35:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944101#M1915</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-02-28T09:35:01Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944169#M1916</link>
      <description>&lt;P&gt;Hello Enas,&lt;/P&gt;&lt;P&gt;The problem is with how the&amp;nbsp;&lt;SPAN&gt;OFPTFPT_MATCH is encoded in the message. Per the OpenFlow Specification, the&amp;nbsp;OFPTFPT_MATCH property should end at an 8 byte boundary. If the data in the property doesn't end at an exact 8 byte boundary, it should be padded with 0's at the end to make it end at an 8 byte boundary.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;From the OpenFlow 1.3.2 specification (page 83)&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/* Match, Wildcard or Set-Field property */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;struct ofp_table_feature_prop_oxm {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;uint16_t type; /* One of OFPTFPT_MATCH,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;OFPTFPT_WILDCARDS,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;OFPTFPT_WRITE_SETFIELD,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;OFPTFPT_WRITE_SETFIELD_MISS,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;OFPTFPT_APPLY_SETFIELD,&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;OFPTFPT_APPLY_SETFIELD_MISS. */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;uint16_t length; /* Length in bytes of this property. */&lt;/EM&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;/* Followed by:&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;* - Exactly (length - 4) bytes containing the oxm_ids, then&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;* - Exactly (length + 7)/8*8 - (length) (between 0 and 7)&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;* bytes of all-zero bytes */&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;EM&gt;uint32_t oxm_ids[0]; /* Array of OXM headers */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;In your example, the padding is incorrect after the &lt;SPAN&gt;OFPTFPT_MATCH&lt;/SPAN&gt;&amp;nbsp;(6 bytes instead of 4 bytes). Thus, the switch is attempting to decode it as a match field instead of as the next property. Just correct the padding to end at an 8 byte boundary and it should work.&lt;/P&gt;&lt;P&gt;Which controller are you using in your setup?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Abhay&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2017 13:32:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944169#M1916</guid>
      <dc:creator>Abhay_B</dc:creator>
      <dc:date>2017-02-28T13:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: Adding an Experimenter match field</title>
      <link>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944855#M1917</link>
      <description>&lt;P&gt;Hi Abhay,&lt;/P&gt;&lt;P&gt;I am using the floodlight controller. &amp;nbsp;&lt;/P&gt;&lt;P&gt;Ok I think this is the problem, the floodlight controller expects an oxm_id list of 4 bytes (32 bits), and after that it has&amp;nbsp;paded the property with another 4 zero bytes to end at the 8 byte boundary. However, the last part of the custom match field is 2 bytes and not 4 (112/8=14, 14/4=3.5), so it is already padded with 2 zero bytes (to match the format of 4 bytes oxm id list). Thus, we would get 2+4=6 bytes of zero padding and the decoding problem that you have described&amp;nbsp;happens.&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the same&amp;nbsp;openflow&amp;nbsp;1.3.1 specs, page 81:&lt;/P&gt;&lt;P&gt;/* Match, Wildcard or Set-Field property */&lt;BR /&gt;struct ofp_table_feature_prop_oxm {&lt;BR /&gt;uint16_t type; /* One of OFPTFPT_MATCH,&lt;BR /&gt;OFPTFPT_WILDCARDS,&lt;BR /&gt;OFPTFPT_WRITE_SETFIELD,&lt;BR /&gt;OFPTFPT_WRITE_SETFIELD_MISS,&lt;BR /&gt;OFPTFPT_APPLY_SETFIELD,&lt;BR /&gt;OFPTFPT_APPLY_SETFIELD_MISS. */&lt;BR /&gt;uint16_t length; /* Length in bytes of this property. */&lt;BR /&gt;/* Followed by:&lt;BR /&gt;* - Exactly (length - 4) bytes containing the oxm_ids, then&lt;BR /&gt;* - Exactly (length + 7)/8*8 - (length) (between 0 and 7)&lt;BR /&gt;* bytes of all-zero bytes */&lt;BR /&gt;uint32_t oxm_ids[0]; /* Array of OXM headers */&lt;BR /&gt;};&lt;BR /&gt;OFP_ASSERT(sizeof(struct ofp_table_feature_prop_oxm) == 4);&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;The oxm_ids is the list of OXM types for the feature (see A.2.3.2). The elements of that list are 32-bit&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;OXM headers or 64-bit OXM headers for experimenter OXM fields.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;So if the HP switch used a 64 bit header for the experimenter field instead of 112 bits, then I think there will be no problem because&amp;nbsp;there will be no extra 2 bytes padding, everything would be a multiple of 32-bits.&lt;/P&gt;&lt;P&gt;Have you tried to create a single custom field using a controller other than&amp;nbsp;&lt;SPAN&gt;HPE VAN?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Just out of curiosity, I have tried to create a list of match fields that won't require extra zero padding from floodlight (that already ends at the 8 byte padding). However, the switch still rejects the request, maybe the 2 zero padding is still causing the problem ?? I have attached the pcap.&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the error I get:&lt;/P&gt;&lt;P&gt;OFPTFFC_BAD_ARGUMENT 1&lt;BR /&gt;An unsupported match type was part of the request.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Enas&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2017 09:22:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/adding-an-experimenter-match-field/m-p/6944855#M1917</guid>
      <dc:creator>EnasAhmad</dc:creator>
      <dc:date>2017-03-02T09:22:48Z</dc:date>
    </item>
  </channel>
</rss>

