Following patch series adds support for STT. STT can generate large packet by merging multiple stt segments. To handle packet larger than device MTU we need to segment these packet. We can just segment then packet in STT and send each packet up to the userspace datapath. But that generate lot more packets and lowers performance. So this patch series improves userpace datapath to handle large packet. And segment the packet when it is required, typically just before sending it over device. This makes it easier to use DPDK segmentation offloads in future integration work.
I have also fixed patches according to comments I got from Jesse on v1. v1-v2: (majore chages) - Added support for Large packets segementation. - renamed tunnel module to netdev-native-tnl - move STT to separate module. Pravin B Shelar (15): netdev-vport: Factor-out tunnel Push-pop code into separate module. netdev: Return number of packet from netdev_pop_header() dp-packet: Add private data dp-packet: use packet reset function. dpif-netdev: rename packet_batch dpif-netdev: create batch object dpif-netdev: Refactor fast path process function. dpif-netdev: Refactor userspace action netdev: Add Large segment offload support. netdev-vport: introduce ip_build_header() tunnel: Add IP ECN related functions. tnl-ports: Handle STT ports. native tunnel: Add support for STT netdev: Add support for GRE segmentation netdev: Add support for GENEVE/VXLAN tunnel segmentation lib/automake.mk | 7 + lib/dp-packet-lso.c | 490 +++++++++++++++++++++++++++++ lib/dp-packet-lso.h | 60 ++++ lib/dp-packet.c | 2 + lib/dp-packet.h | 62 +++- lib/dpif-netdev.c | 351 ++++++++++++--------- lib/dpif.c | 12 +- lib/netdev-native-stt.c | 700 ++++++++++++++++++++++++++++++++++++++++++ lib/netdev-native-stt.h | 37 +++ lib/netdev-native-tnl.c | 650 +++++++++++++++++++++++++++++++++++++++ lib/netdev-native-tnl.h | 133 ++++++++ lib/netdev-provider.h | 9 +- lib/netdev-vport-private.h | 63 ++++ lib/netdev-vport.c | 677 +--------------------------------------- lib/netdev.c | 150 +++++++-- lib/netdev.h | 12 +- lib/odp-execute.c | 10 +- lib/odp-execute.h | 5 +- lib/odp-util.c | 62 +++- lib/packets.c | 21 ++ lib/packets.h | 42 +++ lib/timeval.h | 1 + lib/tnl-ports.c | 82 +++-- lib/tnl-ports.h | 4 +- ofproto/ofproto-dpif-xlate.c | 5 +- ofproto/tunnel.c | 14 +- tests/tunnel-push-pop-ipv6.at | 19 +- tests/tunnel-push-pop.at | 27 ++ 28 files changed, 2808 insertions(+), 899 deletions(-) create mode 100644 lib/dp-packet-lso.c create mode 100644 lib/dp-packet-lso.h create mode 100644 lib/netdev-native-stt.c create mode 100644 lib/netdev-native-stt.h create mode 100644 lib/netdev-native-tnl.c create mode 100644 lib/netdev-native-tnl.h create mode 100644 lib/netdev-vport-private.h -- 2.5.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev