On Tue, Nov 10, 2020 at 2:25 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Sun, 8 Nov 2020 13:27:32 +0800 Zhu Yanjun wrote: > > On Sun, Nov 8, 2020 at 1:24 PM Zhu Yanjun <zyjzyj2000@xxxxxxxxx> wrote: > > > On Thu, 5 Nov 2020 19:12:01 +0800 Zhu Yanjun wrote: > > > > > > In the original design, in rx, skb packet would pass ethernet > > > layer and IP layer, eventually reach udp tunnel. > > > > > > Now rxe fetches the skb packets from the ethernet layer directly. > > > So this bypasses the IP and UDP layer. As such, the skb packets > > > are sent to the upper protocals directly from the ethernet layer. > > > > > > This increases bandwidth and decreases latency. > > > > > > Signed-off-by: Zhu Yanjun <yanjunz@xxxxxxxxxx> > > > > > > > > > Nope, no stealing UDP packets with some random rx handlers. > > > > Why? Is there any risks? > > Are there risks in layering violations? Yes. > > For example - you do absolutely no protocol parsing, Protocol parsing is in rxe driver. > checksum validation, only support IPv4, etc. Since only ipv4 is supported in rxe, if ipv6 is supported in rxe, I will add ipv6. > > Besides it also makes the code far less maintainable, rx_handler is a This rx_handler is also used in openvswitch and bridge. Zhu Yanjun > singleton, etc. etc. > > > > The tunnel socket is a correct approach.