[ovs-discuss] check_pkt_larger precision

Miroslav Kubiczek miroslav.kubiczek at adaptivemobile.com
Fri May 29 10:11:19 UTC 2020


On 29. 05. 20 11:29, Numan Siddique wrote:
> On Fri, May 29, 2020 at 2:25 PM Miroslav Kubiczek 
> <miroslav.kubiczek at adaptivemobile.com 
> <mailto:miroslav.kubiczek at adaptivemobile.com>> wrote:
>
>     Hi, I have finally implemented flows with check_pkt_larger action.
>     Partial flow dump is here:table=0, priority=100
>     actions=check_pkt_larger(60)->NXM_NX_REG0[0],resubmit(,1) table=1,
>     priority=1000,reg0=0x1 actions=resubmit(,2) table=1,
>     priority=100,reg0=0 actions=resubmit(,3) I run a test which sends
>     UDP packets (with VLAN) with size: 58, 59, 62, 63 and 69 in a
>     loop. Only the packet with 69 match the action (1st line in
>     table=1). In 2nd test I set check_pkt_larger  just by one byte less to 59 and then all the above packets match. So the precision seems to be rounded to 8 bytes or something like that.
>     Can this be fixed to be more precise ideally to exact 1 byte?
>
>
> Can you try without VLAN and see the accuracy ?

I tried without VLAN, it's not accurate.


>
> man ovs-actions for check_pkt_larger says
>
> ****
> Syntax:
>        check_pkt_larger(pkt_len)->dst
>
>        Checks if the packet is larger than the specified length in 
> pkt_len. If so, stores 1 in dst, which should be a 1-bit field; if 
> not, stores 0.
>
>        The packet length to check againt the argument pkt_len includes 
> the L2 header and L2 payload of the packet, but not the VLAN tag (if 
> present).
>
>        Examples:
>               ·      check_pkt_larger(1500)->reg0[0]
>               ·      check_pkt_larger(8000)->reg9[10]
>
> ******
>
> Thanks
> Numan
>
>     Thanks,
>     Miro
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20200529/f2140f1c/attachment.html>


More information about the discuss mailing list