History log of /vpp/src/vnet/ip/ip_frag.c
Revision Date Author Comments
# eb284a1f 09-Oct-2019 Ole Troan <ot@cisco.com>

ip: functional interface to ip fragmentation

This provides a functional interface to IP fragmentation.
Allowing external features to fragment. Supports
arbitrary encap size, for e.g. MPLS or inner fragmentation
of tunnels.

This also removed dual loop in MAP that was fundamentally broken.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ia89ecec8ee3cbe2416edbe87630fdb714898c2a8
Signed-off-by: Ole Troan <ot@cisco.com>


# 0b6a857d 30-Oct-2019 Neale Ranns <nranns@cisco.com>

ip: Fragmentation fixes

Type: fix

if the packet is about to be fragmented, then don't call any of the
actions that expect the rewrite to have been written.
1) don't double count packets thru the adjacency (original & fragments)
2) don't double decrement the TTL for fragments
3) return to ip4-midchain post ip-frag if that's where we started.
4) only run midchain/mcast fixups if not fragmenting (if no errors)

Change-Id: Ib2866787a42713ee5871b87b597d8f74b901044b
Signed-off-by: Neale Ranns <nranns@cisco.com>


# d6f1c9c5 06-Oct-2019 Rajesh Goel <rajegoel@cisco.com>

mpls: support fragmentation of mpls output packet

Type: fix

Signed-off-by: Rajesh Goel <rajegoel@cisco.com>
Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844


# 8934a045 09-Feb-2019 Damjan Marion <damarion@cisco.com>

buffers: fix typo

Change-Id: I4e836244409c98739a13092ee252542a2c5fe259
Signed-off-by: Damjan Marion <damarion@cisco.com>


# 5de3fec5 06-Feb-2019 Damjan Marion <damarion@cisco.com>

buffers: make buffer data size configurable from startup config

Example:

buffers {
default data-size 1536
}

Change-Id: I5b4436850ca18025c9fdcfc7ed648c2c2732d660
Signed-off-by: Damjan Marion <damarion@cisco.com>


# 6434430f 19-Jan-2019 Damjan Marion <damarion@cisco.com>

buffers: don't init metadata, as it is already initialized

Change-Id: Ia083050389853c25b069f0f8286d50d3f4aef527
Signed-off-by: Damjan Marion <damarion@cisco.com>


# 64fb9956 28-Nov-2018 Vijayabhaskar Katamreddy <vkatamre@cisco.com>

Copying QoS Bits when fragmented, so that marking can happen properly also cleaning up some unused code

Change-Id: I1558eec79af173e5cdcc769d7c3909039403eed8
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>


# 178cf493 13-Nov-2018 Dave Barach <dave@barachs.net>

Remove c-11 memcpy checks from perf-critical code

Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>


# 68b7cb8f 15-Oct-2018 Juraj Sloboda <jsloboda@cisco.com>

Fix buffer overflow when fragmenting packets (VPP-1383)

Change-Id: Idcda9ae55fa2efb0b2e928bac3e8e86ff8d19eba
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>


# 282093f1 18-Sep-2018 Ole Troan <ot@cisco.com>

IPIP and IPv6 fragmentation

- Error where ICMPv6 error code doesn't reset VLIB_TX = -1
Leading to crash for ICMP generated on tunnelled packets
- Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so
IP in IPv6 packets never got fragmented.
- Add support for fragmentation of buffer chains.
- Remove support for inner fragmentation in frag code itself.

Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27
Signed-off-by: Ole Troan <ot@cisco.com>


# b3655e55 16-Aug-2018 Ole Troan <ot@cisco.com>

VPP-1392: VXLAN fails with IP fragmentation

Not only is it wasteful to send all fragments back through ip4-lookup, but
it doesn't work with tunnel mechanisms that don't have IP enabled on their
payload side.

Change-Id: Ic92d95982dddaa70969a2a6ea2f98edec7614425
Signed-off-by: Ole Troan <ot@cisco.com>


# 7eb9d960 10-Aug-2018 Ole Troan <ot@cisco.com>

IP fragmentation buffer chains, part 2.

Change-Id: I8d1072cf9ff9f502302fd906c5590e0f3698dc60
Signed-off-by: Ole Troan <ot@cisco.com>


# 4146c65f 08-Aug-2018 Ole Troan <ot@cisco.com>

IP fragmentation to handle buffer chains.

Change-Id: Iff557f566ebc9ab170d75da1233997d83b8c8a66
Signed-off-by: Ole Troan <ot@cisco.com>


# 1f895c9a 26-Jul-2018 Rajesh Saluja <rajsaluj@cisco.com>

Reverse the logic of flagging malformed packet in fragmentation code to allow padding

Change-Id: I051c137ae18fd436a798a12a56a9d12f8eaa2e08
Signed-off-by: Rajesh Saluja <rajsaluj@cisco.com>


# e95d1a1a 28-Jun-2018 Vijayabhaskar Katamreddy <vkatamre@cisco.com>

Removing the static keyword do_fragment routines, so that could be accessed outside the ip_frag nodes

Change-Id: I46d3d10fa763fcf7a579620ec7cf1b204a53bce8
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>


# 313f7e2f 10-Apr-2018 Ole Troan <ot@cisco.com>

MTU: IP fragmentation added to ip4-rewrite and ip6-rewrite

Change-Id: Ibae260273f25a319153be37470aed49ff73e957a
Signed-off-by: Ole Troan <ot@cisco.com>


# c592ca52 25-Jan-2018 Vijayabhaskar Katamreddy <vkatamre@cisco.com>

DRAFT ip4/6_frag to support DPO Style based Next Node

Change-Id: I1df3d23c1c5668b83d52b41f51c0e3f24183af9e
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>


# ce07412a 15-Nov-2017 Vijayabhaskar Katamreddy <vkatamre@cisco.com>

Fix icmp/udp/tcp punt/drop paths

Send packets to ip4/6_punt/drop nodes instead of error-drop/punt nodes

dbarach: clean up an annoying checkstyle issue: indent 2.2.10
(OpenSUSE version) and indent 2.2.11 (Ubuntu / CentOS versions) had an
artistic disagreement about ip_frag.c.

Change-Id: I660bee28a064af9c6c70371363081e941d1c3a94
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>


# 7cd468a3 19-Dec-2016 Damjan Marion <damarion@cisco.com>

Reorganize source tree to use single autotools instance

Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23
Signed-off-by: Damjan Marion <damarion@cisco.com>