[ovs-dev] [PATCH v2 00/15] dpif-netdev: Large packet segmentation and STT.
Pravin B Shelar
pshelar at ovn.org
Fri Apr 22 01:54:15 UTC 2016
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
More information about the dev
mailing list