On 12/4/24 4:10 PM, Martin Kalcok wrote:
> Introduction of IPv4 routes with IPv6 next hop addresses
> can cause register corruption in scenarios where distributed
> NAT is enabled [0]. This happens because reg1, used to store IPv4
> address of ARP request (REG_SRC_IPV4), is overlapping with xxreg0
> used to store IPv6 next hop address in the LR pipeline.
> 
> This change aims to solve this issue by moving REG_SRC_IP4 from
> reg1 to unused register reg5. This register overlaps only with
> xreg2 and xxreg1 but there should not be any risk of corruption in LR
> pipeline:
> 
>  * xreg2 is currently unused
>  * xxreg1 is used for REG_SRC_IPV6 but its usage is
>    mutually exclusive with REG_SRC_IPV4
>  * xxreg1 is used for REG_ECMP_ETH_FULL as well, but according to the
>    documentation, the usage is temporary and the original value is
>    restored within the same flow rule.
> 
> [0] 
> https://patchwork.ozlabs.org/project/ovn/patch/9d1431a90b587e2f56bb7be5ae8c90902a758b5d.1718174935.git.felix.huettner@mail.schwarz/#3341306
> 
> Signed-off-by: Martin Kalcok <[email protected]>
> ---

Thanks, Martin!  Applied to main.

Regards,
Dumitru

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to