On 29. 05. 20 11:29, Numan Siddique wrote:
On Fri, May 29, 2020 at 2:25 PM Miroslav Kubiczek <miroslav.kubic...@adaptivemobile.com <mailto:miroslav.kubic...@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



_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to