[ovs-discuss] check_pkt_larger precision
miroslav.kubiczek at adaptivemobile.com
Wed Jun 3 14:57:11 UTC 2020
On 29. 05. 20 12:51, Numan Siddique wrote:
> This email was sent from an external sender. Do not click links or
> open attachments unless you recognize the sender and know the content
> is safe.
> On Fri, May 29, 2020 at 3:41 PM Miroslav Kubiczek
> <miroslav.kubiczek at adaptivemobile.com
> <mailto:miroslav.kubiczek at adaptivemobile.com>> wrote:
> 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
>> 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.
> This is how the pkt length comparison is done
> in vswitchd -
> in kernel datapath -
I can see the problem only when using DPDK. Does it use the same code?
When tested with non DPDK then it's working fine. Both versions are:
$ ovs-ofctl --version
ovs-ofctl (Open vSwitch) 2.13.0
OpenFlow versions 0x1:0x6
>> man ovs-actions for check_pkt_larger says
>> 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).
>> · check_pkt_larger(1500)->reg0
>> · check_pkt_larger(8000)->reg9
> discuss mailing list
> discuss at openvswitch.org <mailto:discuss at openvswitch.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the discuss