Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-767

something wrong with ipv6 addr for ICMP "needs fragmentation" message when SNAT is configured

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • ovn24.09
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      Description:

      something wrong with ipv6 addr for ICMP "needs fragmentation" message when SNAT is configured

      it only failed in distributed gateway port mode and passed in gateway mode

      version:

      ovn24.09-24.09.0-beta.23.el9fdp.x86_64

      steps:

      systemctl start openvswitch
      systemctl start ovn-northd
      ovn-nbctl set-connection ptcp:6641
      ovn-sbctl set-connection ptcp:6642
      ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote=tcp:127.0.0.1:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1
      systemctl restart ovn-controller
      
      ovs-vsctl add-br br-ext
      ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext
      
      ovn-nbctl lr-add lr
      ovn-nbctl ls-add internal
      ovn-nbctl ls-add public
      
      ovn-nbctl lrp-add lr lr-pub 00:00:01:01:02:03 192.168.1.1/24 2001::1/64
      ovn-nbctl lsp-add public pub-lr -- set Logical_Switch_Port pub-lr \
      type=router options:router-port=lr-pub addresses=\"00:00:01:01:02:03\"
      
      ovn-nbctl lrp-add lr lr-internal 00:00:01:01:02:04 172.16.1.1/24 3010::1/64
      ovn-nbctl lsp-add internal internal-lr -- set Logical_Switch_Port internal-lr \
      type=router options:router-port=lr-internal addresses=\"00:00:01:01:02:04\"
      
      ovn-nbctl lsp-add public ln_port \
      -- lsp-set-addresses ln_port unknown \
      -- lsp-set-type ln_port localnet \
      -- lsp-set-options ln_port network_name=phynet
      
      ovn-nbctl lsp-add internal client \
      -- lsp-set-addresses client "f0:00:0f:01:02:03 172.16.1.2 3010::2"
      ovn-nbctl lrp-set-gateway-chassis lr-pub hv1
      ovn-nbctl set logical_router_port lr-internal options:gateway_mtu=1300
      
      ovs-vsctl add-port br-int client -- set interface client type=internal external_ids:iface-id=client
      ip netns add client
      ip link set client netns client
      ip netns exec client ip link set client address f0:00:0f:01:02:03
      ip netns exec client ip addr add 172.16.1.2/24 dev client
      ip netns exec client ip addr add 3010::2/64 dev client
      ip netns exec client ip link set client up
      ip netns exec client ip route add default via 172.16.1.1
      ip netns exec client ip -6 route add default via 3010::1
      
      ovs-vsctl add-port br-ext server -- set interface server type=internal
      ip netns add server
      ip link set server netns server
      ip netns exec server ip link set server up
      ip netns exec server ip addr add 192.168.1.2/24 dev server
      ip netns exec server ip addr add 2001::2/64 dev server
      
      ovn-nbctl lr-nat-add lr snat 2001::1 3010::2/64
      ovn-nbctl lr-nat-add lr snat 192.168.1.1 172.16.1.2/24
      ip netns exec client ping 192.168.1.2 -c 1
      ip netns exec client ping 192.168.1.2 -c 1 -s 1400
      ip netns exec client ping 192.168.1.2 -c 1 -s 1400 -W 2
      ip netns exec client ping 192.168.1.2 -c 1 -s 1400 -W 2
      
      ip netns exec client ping6 2001::2 -c 1
      ip netns exec client ping6 2001::2 -c 1 -s 1400
      ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2
      ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2 

      expected result:
      last ping6 passed

      actual result:

      last ping6 failed

      other info:

      [root@dell-per740-33 FDP-39]# rpm -qa | grep -E "openvswitch3.3|ovn"                     
      openvswitch3.3-3.3.0-45.el9fdp.x86_64                                                    
      python3-openvswitch3.3-3.3.0-45.el9fdp.x86_64                                            
      ovn24.09-24.09.0-beta.23.el9fdp.x86_64                                                   
      ovn24.09-central-24.09.0-beta.23.el9fdp.x86_64                                           
      ovn24.09-host-24.09.0-beta.23.el9fdp.x86_64

      + ip netns exec client ping6 2001::2 -c 1                                                
      PING 2001::2(2001::2) 56 data bytes
      64 bytes from 2001::2: icmp_seq=1 ttl=63 time=6.69 ms                                    

      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 1 received, 0% packet loss, time 0ms                              
      rtt min/avg/max/mdev = 6.686/6.686/6.686/0.000 ms                                        
      + ip netns exec client ping6 2001::2 -c 1 -s 1400
      PING 2001::2(2001::2) 1400 data bytes
      From 3010::1 icmp_seq=1 Packet too big: mtu=1300                                         

      — 2001::2 ping statistics —
      1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms                 
                                                                                               
      + ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2                                   
      PING 2001::2(2001::2) 1400 data bytes                                                    
                                                                                               
      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 0 received, 100% packet loss, time 0ms                            
                                                                                               
      + ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2                                   
      PING 2001::2(2001::2) 1400 data bytes                                                    
                                                                                               
      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 0 received, 100% packet loss, time 0ms

       

      <=== ping6 failed

       

      the issue didn't exist on ovn24.03-24.03.2-32:

      [root@dell-per740-33 FDP-39]# rpm -qa | grep -E "openvswitch3.3|ovn"                     
      openvswitch3.3-3.3.0-45.el9fdp.x86_64                                                    
      python3-openvswitch3.3-3.3.0-45.el9fdp.x86_64                                            
      ovn24.03-24.03.2-32.el9fdp.x86_64                                                        
      ovn24.03-central-24.03.2-32.el9fdp.x86_64                                                
      ovn24.03-host-24.03.2-32.el9fdp.x86_64

      + ip netns exec client ping6 2001::2 -c 1
      PING 2001::2(2001::2) 56 data bytes
      64 bytes from 2001::2: icmp_seq=1 ttl=63 time=6.29 ms

      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 1 received, 0% packet loss, time 0ms                              
      rtt min/avg/max/mdev = 6.286/6.286/6.286/0.000 ms
      + ip netns exec client ping6 2001::2 -c 1 -s 1400                                        
      PING 2001::2(2001::2) 1400 data bytes
      From 3010::1 icmp_seq=1 Packet too big: mtu=1300                                         

      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms                 
                                                                                               
      + ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2                                   
      PING 2001::2(2001::2) 1400 data bytes                                                    
                                                                                               
      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 0 received, 100% packet loss, time 0ms                            
                                                                                               
      + ip netns exec client ping6 2001::2 -c 1 -s 1400 -W 2                                   
      PING 2001::2(2001::2) 1400 data bytes                                                    
      1408 bytes from 2001::2: icmp_seq=1 ttl=63 time=1.29 ms                                  
                                                                                               
      — 2001::2 ping statistics —                                                          
      1 packets transmitted, 1 received, 0% packet loss, time 0ms                              
      rtt min/avg/max/mdev = 1.287/1.287/1.287/0.000 ms

      <=== ping6 passed

              ovnteam@redhat.com OVN Team
              rhn-support-jishi Jianlin Shi
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: