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.
v2-v3: - Fixed function name of netdev-native-tnl headers. - Refactored tnl header build code. - Add patches to fix netdev header push, pop error path. I have also fixed patches according to comments I got from Jesse on v1. v1-v2: (major chages) - Added support for Large packets segementation. - renamed tunnel module to netdev-native-tnl - move STT to separate module. Pravin B Shelar (17): 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: Fix memory leak in tunnel header pop action. dpif-netdev: Fix memory leak in tunnel header push action. dpif-netdev: Refactor fast path process function. dpif-netdev: Refactor userspace action netdev: Add Large packet segmentation 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 | 74 ++++- lib/dpif-netdev.c | 378 ++++++++++++---------- lib/dpif.c | 12 +- lib/netdev-native-stt.c | 708 +++++++++++++++++++++++++++++++++++++++++ lib/netdev-native-stt.h | 41 +++ lib/netdev-native-tnl.c | 724 ++++++++++++++++++++++++++++++++++++++++++ lib/netdev-native-tnl.h | 117 +++++++ lib/netdev-provider.h | 18 +- lib/netdev-vport-private.h | 58 ++++ lib/netdev-vport.c | 684 ++------------------------------------- lib/netdev.c | 162 ++++++++-- lib/netdev.h | 17 +- lib/odp-execute.c | 10 +- lib/odp-execute.h | 5 +- lib/odp-util.c | 62 +++- lib/packets.c | 21 ++ lib/packets.h | 51 +++ lib/timeval.h | 1 + lib/tnl-ports.c | 82 +++-- lib/tnl-ports.h | 4 +- ofproto/ofproto-dpif-xlate.c | 5 +- ofproto/tunnel.c | 64 +--- tests/tunnel-push-pop-ipv6.at | 19 +- tests/tunnel-push-pop.at | 27 ++ 28 files changed, 2924 insertions(+), 979 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