On Fri, May 29, 2020 at 2:25 PM Miroslav Kubiczek <
[email protected]> 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 ?
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
>
>
>
> _______________________________________________
> discuss mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss