[ovs-discuss] OVS not sending the whole packet in PacketIn message

Bakshi Gulam gulam at gulam.in
Mon Apr 6 17:15:50 UTC 2015


Hi Ben,

Thanks for getting me back. I've not tested this with any controller other
than ODL. But installing ODL isn't that complex. In fact, no "installation"
is required. You can just download the pre-compiled binary from here
<https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distributions-base/0.1.1/distributions-base-0.1.1-osgipackage.zip>
and after unzipping just running *run.sh* script will start the ODL
controller. No additional configuration is required (by default ODL will
listen on port 6633).

So, the reproduction steps are really simple.
1. Download and unzip ODL (hydrogen release) from here
<https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distributions-base/0.1.1/distributions-base-0.1.1-osgipackage.zip>.
Run *run.sh* script.
2. Start Wireshark(or any other packet capture tool) and make it listen on
loopback interface.
3. Start Mininet with *--controller=remote* option. (I'm using Mininet. I
don't know the equivalent command line option in case if we run OVS
directly. I'm assuming you would be knowing it.)

You can see the ODL issuing a OFPT_SET_CONFIG with miss_send_len=0xffff and
you can also confirm it by observing the OFPT_GET_CONFIG_RESPONSE from OVS.

4. When no flows are installed, send HTTP traffic to switch. Due to
"flow-miss", OVS will lift the packet to ODL. You can see only TCP header
included in PacketIn message. (If you are using Mininet, you can start a
Simple Web Server and Client as mentioned here
<http://mininet.org/walkthrough/#run-a-simple-web-server-and-client> to
generate HTTP packets.)

Hope this will help you in reproducing this issue.

On Sun, Apr 5, 2015 at 10:27 PM, Ben Pfaff <blp at nicira.com> wrote:

> On Sun, Apr 05, 2015 at 04:04:41PM +0530, Bakshi Gulam wrote:
> > I'm using OVS with OpenDaylight(ODL) controller. As soon as OVS registers
> > itself with ODL, ODL sends a OFPT_SET_CONFIG message with miss_send_len =
> > 0xffff (OFPCML_NO_BUFFER). I assume the same has been successfully
> > configured in OVS. (Because for a subsequent OFPT_GET_CONFIG_REQUEST, I
> get
> > a OFPT_GET_CONFIG_RESPONSE with miss_send_len = 0xfff).
> >
> > But PacketIn message generated due to "flow miss", contains only till TCP
> > header of the actual packet. Since miss_send_len is set as
> > OFPCML_NO_BUFFER, I'm expecting OVS to include the entire packet as
> payload
> > to PacketIn message. But for a HTTP packet, the PacketIn contains only
> till
> > TCP header.
> >
> > Is this a known issue or a bug? Can somebody help me how to make OVS lift
> > entire packet to controller (in case of "flow-miss")?
>
> You're not the first to report this but I've been unable to reproduce it
> in my testing.  Can you provide a simple reproduction case?  If you can,
> I'll fix it.  (If it involves installing ODL then that isn't simple
> enough for me.)
>



-- 
/////////////////////////
// Bakshi Gulam        //
// http://www.gulam.in //
/////////////////////////
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20150406/5ddc0a81/attachment-0002.html>


More information about the discuss mailing list