Software Defined Networking
1752589 Members
4448 Online
108788 Solutions
New Discussion

Re: Adding an Experimenter match field

 
Abhay_B
Valued Contributor

Re: Adding an Experimenter match field

Hello Enas,

What we have done with the experimenter header for custom matches in TABLE_FEATURES_REQUEST message is to treat the OXM header as a complete TLV rather than just as an OXM ID. Treating it as a TLV gives us the much needed flexibility to allow adding a payload to the header that defines the property of the custom match field (start, offset, length). With just a 64 bit header, it wouldn't be possible anyways.

I am not a 100% sure if we are violating the OpenFlow SPEC by adding a payload to the header for these fields but alteast wireshark is able to dissect the TABLE_FEATURES_REQUEST message with custom match field headers correctly. It does treat the Experimenter header as a TLV and displays the payload as Experimenter Value.

OXM ID
Class: OFPXMC_EXPERIMENTER (0xffff)
0000 101. = Field: 5
.... ...0 = Has mask: False
Length: 10
Experimenter: 0x00002481
Experimenter Value: 000300040004
OXM ID
Class: OFPXMC_EXPERIMENTER (0xffff)
0000 110. = Field: 6
.... ...0 = Has mask: False
Length: 10
Experimenter: 0x00002481
Experimenter Value: 000300080004

I have not tried programming custom match fields via any other controller other than HPE VAN.

In the other example that you have shared, I see that the OXM Length associated with the OFPTFP_MATCH field seems incorrect. That is the reason the message is being rejected.

Can you check if the FloodlightAPI can be forced to program experimenter headers with payloads and calculate the length accordingly.

Thanks!

Abhay

Abhay_B
Valued Contributor

Re: Adding an Experimenter match field

Hello Enas,

If you are happy with the response, can you please mark this thread as solved? That would be really helpful.

Thanks!

Abhay

EnasAhmad
Frequent Advisor

Re: Adding an Experimenter match field

Hi Abhay,

I have not marked this as solved yet because I was expecting your team to try to program a custom match field using an OpenFlow controller other than HPE VAN. 

Thanks,

Enas