aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeale Ranns <neale@graphiant.com>2022-03-18 13:05:09 +0000
committerNeale Ranns <neale@graphiant.com>2022-03-24 13:56:43 +0000
commitfbc633f5542be4b0b85963f7dcba9ab143c61d62 (patch)
tree6d5d2223878661230f9e09f18f5bada574f0bc18 /src
parentbb498ccb1c5d5448fdcb106cacc1ef1bfbc69e16 (diff)
mpls: Set the MTU field in the frag-needed ICMP when doing MPLS fragmentation
Type: fix The reported MTU should include the MPLS label overhead Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I3df6d2e0b13f49701e187a766a157498dcaafbc0
Diffstat (limited to 'src')
-rw-r--r--src/vnet/mpls/mpls_output.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/vnet/mpls/mpls_output.c b/src/vnet/mpls/mpls_output.c
index faeba748e89..d606360ce9e 100644
--- a/src/vnet/mpls/mpls_output.c
+++ b/src/vnet/mpls/mpls_output.c
@@ -470,14 +470,13 @@ mpls_frag (vlib_main_t * vm,
icmp4_error_set_vnet_buffer (
p0, ICMP4_destination_unreachable,
ICMP4_destination_unreachable_fragmentation_needed_and_dont_fragment_set,
- vnet_buffer (p0)->ip_frag.mtu);
+ mtu);
next0 = MPLS_FRAG_NEXT_ICMP4_ERROR;
}
else
{
- icmp6_error_set_vnet_buffer (
- p0, ICMP6_packet_too_big, 0,
- adj0->rewrite_header.max_l3_packet_bytes);
+ icmp6_error_set_vnet_buffer (p0, ICMP6_packet_too_big,
+ 0, mtu);
next0 = MPLS_FRAG_NEXT_ICMP6_ERROR;
}
}