2015-05-12 23:20 GMT+02:00 Joe Stringer <joestrin...@nicira.com>:

> On 12 May 2015 at 11:59, luc <mluc.2...@gmail.com> wrote:
> > Hello team
> >
> > I am trying to work deeper into the code level of OVS. and what I would
> > like to do is the following:
> >
> > For the receiving packet, if there is no matching rule in the flow table
> > (i.e. packet is sent to user space and further sent to the sdn
> controller),
> > I would like to print out a message; otherwise, if there is matching
> rule,
> > print something else.
> >
> > So, in the code, I think datapath.c, ovs_dp_process_packet_with_key()
> does
> > the trick, the refered code is as following. Then, what I did is to send
> > periodically the same kind of packet to the OVS machine (all the tested
> > machines are built in VMs).
> >
> > However, I see that whenever I send my packet in a bit slow-speed (e.g.
> one
> > packet per 1 or 2 second), it always print out "flow entry is *NOT
> *found",
> > but indeed, I can really confirm by command line that the respective flow
> > entry (also by wireshark at sdn controller, there is no PktIn any more
> for
> > these packets); But, when I send my packet a bit faster, e.g. one packet
> > per 0.5 second, then, I'm able to get the expected output message "flow
> > entry is found".
> >
> > Can anyone help me to explain why does that happen? and I pretty much
> > appreciate if you can point me into the right direction...
>
> ovs-vswitchd manages the kernel datapath flows based on a variety of
> factors including packet rate, so it's possible that at low packet
> rates the flow is evicted for some reason. Depending on the version of
> OVS, the logic of this differs, but you should be able to find it in
> ofproto/ofproto-dpif-upcall.c. You can also turn the 'dpif' logging up
> to debug level and observe flow adds/deletes in the ovs-vswitchd.log.
>


Hi,

Very appreciate your hints..

I searched around both in the code and also in Internet, and found one
slide as attachment.. one thing I am still confused is that:

from the slide, it says "*decision about how to process packet is made in
userspace*", does it mean that whenever there is an incoming packet (no
matter it is the first one in a flow or not), it always first goes to the
user space ???

ps, the ovs version I am using is 2.3.1.

Thanks a lot for some info.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to