[ovs-dev] WDP problem

Ben Pfaff blp at nicira.com
Thu Oct 21 19:47:45 UTC 2010


On Thu, Oct 21, 2010 at 07:05:22PM +0100, Stefan Kobza wrote:
> >On Thu, Oct 21, 2010 at 10:27:23AM +0100, Stefan Kobza wrote:
> >> we ran into problems using the WDP branch from Openvswitch. First of all, we
> >> need to know whether we are using the correct approach. Basically we created
> >> xfif_class and registered it as only base_xfif_classes entry. We saw that
> >> registered xfif_classes get picked up by wdp, and are being called when
> >> needed (port_add, port_del, etc..).
> 
> >If you are implementing an xfif, then I am surprised that you are using
> >the wdp branch at all.
> 
> What datapath should we then use? Should we implement our own wdp ?
> We implemented xfif because we saw that it is called from wdp-xflow,
> and that the wdp-xflow handles all sorts of things on top of it. We
> thought that the wdp-xflow processes the flow_mod message, and
> eventually should call the xfifs's flow_put.

If you want to set up flows that include wildcards in hardware, then you
should implement your own wdp.

If you only care to set up exact-match flows, then you can implement
your own xfif instead (as you say you have done) but it would probably
be better to use the "master" branch instead, because it is better
tested.

> >> Our problem is that when flow_mod message is received on OVS part, it
> >> doesn't call our xfif's flow_put. 
> 
> >I would only expect it to do so for exact-match flows.  Because OVS has
> >a "tunnel ID" field in its flow match, which is always wildcarded unless
> >a special OVS extension is enabled, it is not possible to set up
> >exact-match flows using standard OpenFlow 1.0, and so you won't see such
> >behavior with an OpenFlow 1.0 controller.
> 
> We use openflow 1.1.0pre2, does that change anything?

I think that you are confusing OpenFlow and Open vSwitch.  The current
version of Open vSwitch is 1.1.0pre2.  The latest final version of
OpenFlow is 1.0.

Open vSwitch implements OpenFlow 1.0 plus some extensions.  By saying
"an OpenFlow 1.0 controller", I mean a controller that implements
OpenFlow 1.0 but does not implement Open vSwitch's extensions to
OpenFlow 1.0.


> >For a flow that has wildcards, the flow is kept in the classifier until
> >a packet arrives that matches it, at which time the exact-match flow
> >corresponding to that packet is set up and the xfif's flow_put is called
> >to add it.
> 
> The exact-match flow is set up to match the same packets; that means
> that the wildcarded fields are at first filled with values from the
> received packet, and then sent to xfif?

Yes.




More information about the dev mailing list