[Patch] Allows tun_mainloop to handle multiple packets in single read.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've created a patch for openconnect v3.14 for Solaris environment.

[Issue]
It seems tun_mainloop() assumes that reading data from /dev/tun
device only have one packet, and the data must start from the
beginning of the packet.
But Solaris's tun driver could include multiple packets into single
read(2), and the last packet would be truncated because buffer has
only 2,000 byte of the size. Thus, next read(2) would return middle
of packet data.
It gets packet data corrupted, and results in lowering a performance.

[Summary of patch]
Modified tun_mainloop and enabled it to handle multiple packets
included in single read.
I believe this code is safe for other OS environments, but just in
case, I isolated the code within ifdef __sun__ satatement.

Thanks,

Kazuyoshi Aizawa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openconnect-devel/attachments/20111123/0ea44506/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tun.c-3.14-patch-solaris
Type: application/octet-stream
Size: 1447 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openconnect-devel/attachments/20111123/0ea44506/attachment.obj>


[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux