[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <534F4C1E.1000006@gmail.com>
Date: Thu, 17 Apr 2014 11:35:58 +0800
From: zhuyj <zyjzyj2000@...il.com>
To: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
joe@...ches.com, julia.lawall@...6.fr, dingtianhong@...wei.com,
linux-kernel@...r.kernel.org, jasowang@...hat.com, mst@...hat.com,
Willy Tarreau <w@....eu>,
"Yang, Zhangle (Eric)" <Zhangle.Yang@...driver.com>,
"Wu, Kuaikuai" <Kuaikuai.Wu@...driver.com>,
"Tao, Yue" <Yue.Tao@...driver.com>, zhuyj <zyjzyj2000@...il.com>
Subject: in kernel 2.6.x, tun/tap nic supports vlan packets
Hi, all
In kernel 2.6.x, linux depends on nic vlan hardware acceleration to
insert/extract
vlan tag. In this scene, in kernel 2.6.x
_____ ________
A | | B | | C
vlan packets-->| tap |----->|vlan nic|--->
|_____| |________|
We hope vlan packets pass through tap and vlan nic from A to c.
But in kernel 2.6.x, linux kernel can not extract vlan tag. It depends
on nic vlan hardware acceleration. It is well known that tap nic has no
vlan acceleration. So in the above scene, vlan packets can not be handled by
tap nic. These vlan packets will be discarded in B. They can not arrive
at C.
In kernel 3.x, linux can handle vlan packets. It does not depend on nic vlan
hardware acceleration. So the above scene can work well in kernel 3.x.
To resolve the above in kernel 2.6.x, we simulated vlan hardware
acceleration in
tun/tap driver. Then followed the logic of commit commit 4fba4ca4
[vlan: Centralize handling of hardware acceleration] to modify the vlan
packets
process in kernel 2.6.x. In the end, the above scene can work well in
patched
kernel 2.6.x.
Please comment on it. Any reply is appreciated.
Hi, Willy
These 2 patches are for linux2.6.x. These can work well here. Please
help to merge
linux 2.6.32.x. Thanks a lot.
Best Regards!
Zhu Yanjun
View attachment "0001-tun-tap-add-the-feature-of-vlan-rx-extraction.patch" of type "text/x-patch" (6341 bytes)
View attachment "0002-vlan-Centralize-handling-of-hardware-acceleration.patch" of type "text/x-patch" (9908 bytes)
Powered by blists - more mailing lists