On Fri, Mar 13, 2020 at 8:57 AM Ben Pfaff <[email protected]> wrote: > > On Fri, Mar 13, 2020 at 01:04:07AM +0000, Yi Yang (杨燚)-云服务集团 wrote: > > Per my understanding, Ben meant a build system (which isn't Linux > > probably, it doesn't have include/linux/if_packet.h) should be able to > > build tpacket_v3 code in order that built-out binary can work on Linux > > system with tpacket_v3 feature, this is Ben's point, that is why he > > wanted me to add include/linux/if_packet.h in ovs repo. > > > > Ben, can you help double confirm if include/linux/if_packet.h in ovs > > is necessary? > > I think my meaning was misunderstood. Linux always has if_packet.h. > Only recent enough Linux has TPACKET_V3 in if_packet.h. If the system > is Linux but the TPACKET_V3 types and constants are not defined in > if_packet.h, then the build system should define them.
Thanks! My suggestion is that if the system is Linux but the TPACKET_V3 types and constants are not defined in if_packet.h, then just skip using TPACKET_V3 and use the current recvmmsg approach. Because when we start TPACKET_V3 patch, the af_packet on veth performance is about 200Mbps, so tpacket_v3 has huge performance benefits. With YiYang's patch "Use batch process recv for tap and raw socket in netdev datapath" the af_packet on veth improves to 1.47Gbps. And tpacket_v3 shows similar or 7% better performance. So there isn't a huge benefits now. William _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
