Skip to content

Commit

Permalink
pinctrl: Explicitly set ICMPv6 code for packet too big.
Browse files Browse the repository at this point in the history
The ICMPv6 code was set to 1 which is wrong for the packet too big
which is wrong, the code should always remain 0. This resulted in
wrong csum being computed. Set the code to 0 explicitly.

Fixes: 4725ad1 ("controller: Avoid double controller action for ICMP errors.")
Reported-at: https://issues.redhat.com/browse/FDP-763
Acked-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Ales Musil <amusil@redhat.com>
Signed-off-by: Numan Siddique <numans@ovn.org>
  • Loading branch information
almusil authored and numansiddique committed Aug 29, 2024
1 parent 25f403e commit 4c96d26
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions controller/pinctrl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1756,6 +1756,7 @@ pinctrl_handle_icmp(struct rconn *swconn, const struct flow *ip_flow,
if (mtu) {
put_16aligned_be32(ih->icmp6_data.be32, *mtu);
ih->icmp6_base.icmp6_type = ICMP6_PACKET_TOO_BIG;
ih->icmp6_base.icmp6_code = 0;
}

void *data = ih + 1;
Expand Down

0 comments on commit 4c96d26

Please sign in to comment.