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

Reply via email to