Hi All,

   I am trying to add L4 port range matching capability to our switch
(internally uses OVS code). I have used experimenter match fields in the
Flow Mod to get these. Once i receive them, after parsing the experimenter
OXM's, i store them in the "flow" structure. I have added new fields to
store them, something like this:

struct flow {
.
.
.
 struct port_range pr;
.
.
};

struct port_range
{
   ovs_be16 begin;
   ovs_be16 end;
};

  Note that when i receive a port range in the flow-mod, i would NOT
populate the tp_src or tp_dst fields.

 However i am facing issues when it comes to matching packets to this rule.
As my understanding goes, OVS creates a hash of all the field values in the
"flow" structure as received in the flow-mod and stores them in the
classifier. A network packet would never match this rule, as it doesnt have
a port-range and hence the hash would always fail.

   I was thinking if there's an easy way to achieve this with minimal
changes to the code. My knowledge about OVS code is limited, hence
requesting for help. Please comment.

  Also the OVS code base which our switch uses is a little old. Pardon me
if such a capability is already been implemented in the latest ovs.

Thanks,
Nitish
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to