Hi, Ben, I tried your method, but the switch seems to drop some packets, as it does not output the expected packets that I forward to send to it. Any advice?
Thanks, Xuemei On Thu, Jul 23, 2015 at 10:19 AM, Xuemei Liu <lxuemei3...@gmail.com> wrote: > Hi, Ben, > > Thanks for your response. > "You realize that this will be terrible for performance, right?" > In fact, I have not got all packets sent to user space. That is the > problem I am facing now. I think performance might be another problem after > I can receive all packet in user space. > > Thanks, > Xuemei > > On Thu, Jul 23, 2015 at 10:13 AM, Ben Pfaff <b...@nicira.com> wrote: > >> On Thu, Jul 23, 2015 at 10:04:23AM -0700, Xuemei Liu wrote: >> > I am new to ovs, and I am trying to send all packets from kernel space >> to >> > user space. I comment the "unlikely(!flow)" in datapath/datapath.c. >> > However, it seems I just receive the first packet of each flow (the >> first >> > packet that match one forwarding rule in the bridge) in user space. >> Could >> > anyone tell me why? and is there other way to achieve my goal? >> >> You realize that this will be terrible for performance, right? >> >> It's kind of a waste to modify the kernel module for this. I'd just >> modify userspace to send all packets to userspace, something like this: >> >> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c >> index 52395a7..a98406a 100644 >> --- a/ofproto/ofproto-dpif-xlate.c >> +++ b/ofproto/ofproto-dpif-xlate.c >> @@ -4777,7 +4777,7 @@ xlate_actions(struct xlate_in *xin, struct >> xlate_out *xout) >> >> ctx.xin = xin; >> ctx.xout = xout; >> - ctx.xout->slow = 0; >> + ctx.xout->slow = SLOW_ACTION; >> ctx.xout->has_learn = false; >> ctx.xout->has_normal = false; >> ctx.xout->has_fin_timeout = false; >> > >
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss