Message ID | 20240829151236.390710-1-amusil@redhat.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev,v2] pinctrl: Explicitly set ICMPv6 code for packet too big. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/github-robot-_ovn-kubernetes | success | github build: passed |
On Thu, Aug 29, 2024 at 11:13 AM Ales Musil <amusil@redhat.com> wrote: > > 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: 4725ad125b42 ("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> Thanks. Applied to main and backported to branch-24.09. Numan > --- > v2: Add missing dot for the subject. > Add missing fixes tag. > --- > controller/pinctrl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/controller/pinctrl.c b/controller/pinctrl.c > index 7cbb0cf81..c86b4f940 100644 > --- a/controller/pinctrl.c > +++ b/controller/pinctrl.c > @@ -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; > -- > 2.46.0 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
diff --git a/controller/pinctrl.c b/controller/pinctrl.c index 7cbb0cf81..c86b4f940 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -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;