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

pmtud for the same subnet from east to west doesn't work

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Major Major
    • FDP-24.G
    • OVN FDP 24.C
    • ovn23.09
    • None
    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • FDP 24.D, FDP 24.E

      Description:

      pmtud for the same subnet from east to west doesn't work

      version:

      ovn23.09-23.09.0-105.el9

      roducer

       

      1. start ovn on server
      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:1.1.207.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=1.1.207.25
      systemctl restart ovn-controller                                                                      
                                                                                                            
      ovn-nbctl ls-add sw0                                                                                  
      ovn-nbctl lsp-add sw0 sw0-port1                                                                       
      ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:03 10.0.0.3 1000::3"                            
      ovn-nbctl lsp-add sw0 sw0-port2                                                                       
      ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:04 10.0.0.4 1000::4"                            
      ovn-nbctl ls-add sw1                                                                                  
      ovn-nbctl lsp-add sw1 sw1-port1                                                                       
      ovn-nbctl lsp-set-addresses sw1-port1 "40:54:00:00:00:03 20.0.0.3 2000::3"                            
      ovn-nbctl lr-add lr0                                                                                  
      ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::a/64                                
      ovn-nbctl lsp-add sw0 sw0-lr0                                                                         
      ovn-nbctl lsp-set-type sw0-lr0 router                                                                 
      ovn-nbctl lsp-set-addresses sw0-lr0 router                                                            
      ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0                                                 
      ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 2000::a/64                                
      ovn-nbctl lsp-add sw1 sw1-lr0                                                                         
      ovn-nbctl lsp-set-type sw1-lr0 router                                                                 
      ovn-nbctl lsp-set-addresses sw1-lr0 router                                                            
      ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1                                                 
      ovn-nbctl ls-add public                                                                               
      ovn-nbctl lsp-add public ln-public                                                                    
      ovn-nbctl lsp-set-type ln-public localnet                                                             
      ovn-nbctl lsp-set-addresses ln-public unknown                                                         
      ovn-nbctl lsp-set-options ln-public network_name=public                                               
      ovn-nbctl lrp-add lr0 lr0-public 00:11:22:00:ff:01 172.20.0.100/24                                    
      ovn-nbctl lsp-add public public-lr0                                                                   
      ovn-nbctl lsp-set-type public-lr0 router                                                              
      ovn-nbctl lsp-set-addresses public-lr0 router                                                         
      ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public                                           
      ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 10                                                   
      ovn-nbctl lr-route-add lr0 0.0.0.0/0 172.20.0.1                                                       
      ovn-nbctl lr-nat-add lr0 snat 172.20.0.100 10.0.0.0/24                                                
      ovn-nbctl lr-nat-add lr0 snat 172.20.0.100 20.0.0.0/24                                                
      ovn-nbctl acl-add sw0 from-lport 1002 'ip4 || ip6'  allow-related                                     
      ovn-nbctl acl-add sw1 from-lport 1002 'ip4 || ip6'  allow-related                                     
                                                                                                            
      ovs-vsctl add-br br-ex                                                                                
      ovs-vsctl set open . external-ids:ovn-bridge-mappings=public:br-ex                                    
                                                                                                            
      ip link add sw0p1_v type veth peer name sw0p1_vp                                                      
      ovs-vsctl add-port br-int sw0p1_vp                                                                    
      ovs-vsctl set interface sw0p1_vp external_ids:iface-id=sw0-port1                                      
      ip link set sw0p1_vp up                                                                               
      ip netns add sw0p1                                                                                    
      ip link set sw0p1_v netns sw0p1                                                                       
      ip netns exec sw0p1 ip link set sw0p1_v address 50:54:00:00:00:03                                     
      ip netns exec sw0p1 ip link set sw0p1_v up                                                            
      ip netns exec sw0p1 ip addr add 10.0.0.3/24 dev sw0p1_v                                               
      ip netns exec sw0p1 ip route add default via 10.0.0.1                                                 
      ip netns exec sw0p1 ip addr add 1000::3/64 dev sw0p1_v                                                
      ip netns exec sw0p1 ip -6 route add default via 1000::a
      
      2. start ovn-controller on client
      
      systemctl start openvswitch
      ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:1.1.207.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=1.1.207.26
      systemctl restart ovn-controller                                                                      
      
      ovs-vsctl add-br br-ex
      ovs-vsctl set open . external-ids:ovn-bridge-mappings=public:br-ex 
      
      ovs-vsctl add-port br-int sw0p2 -- set interface sw0p2 type=internal external_ids:iface-id=sw0-port2  
      ip netns add sw0p2
      ip link set sw0p2 netns sw0p2
      ip netns exec sw0p2 ip link set sw0p2 address 50:54:00:00:00:04
      ip netns exec sw0p2 ip link set sw0p2 up
      ip netns exec sw0p2 ip addr add 10.0.0.4/24 dev sw0p2
      ip netns exec sw0p2 ip route add default via 10.0.0.1                                                 
      ip netns exec sw0p2 ip addr add 1000::4/64 dev sw0p2                                                  
      ip netns exec sw0p2 ip -6 route add default via 1000::a                                               
      
      ovs-vsctl add-port br-int sw1p1 -- set interface sw1p1 type=internal external_ids:iface-id=sw1-port1  
      ip netns add sw1p1
      ip link set sw1p1 netns sw1p1
      ip netns exec sw1p1 ip link set sw1p1 address 40:54:00:00:00:03                                       
      ip netns exec sw1p1 ip link set sw1p1 up
      ip netns exec sw1p1 ip addr add 20.0.0.3/24 dev sw1p1                                                 
      ip netns exec sw1p1 ip route add default via 20.0.0.1                                                 
      ip netns exec sw1p1 ip addr add 2000::3/64 dev sw1p1                                                  
      ip netns exec sw1p1 ip -6 route add default via 2000::a
      
      3. change mtu for the route used by geneve on server
      ip route change 1.1.207.0/24 dev ens1f0np0 mtu 1000
      
      4. run ping in sw0p1
      
      ip netns exec sw0p1 ping 10.0.0.4 -c 2 -s 1100 -M do 

      actual result:

      sw0p1 doesn't receive the icmp packet for pmtu

      expected result:

      sw0p1 should receive the icmp packet for pmtu

       

      other information:

      [root@wsfd-advnetlab18 bz2241711]# ip netns exec sw0p1 ping 10.0.0.4 -c 3 -s 1100 -M do               
      PING 10.0.0.4 (10.0.0.4) 1100(1128) bytes of data.                                                    
                                                                                                            
      — 10.0.0.4 ping statistics —                                                                      
      3 packets transmitted, 0 received, 100% packet loss, time 2038ms                                      
                                                                                                            
      [root@wsfd-advnetlab18 bz2241711]# ip netns exec sw0p1 ping 20.0.0.3 -c 3 -s 1100 -M do               
      PING 20.0.0.3 (20.0.0.3) 1100(1128) bytes of data.                                                    
      From 20.0.0.3 icmp_seq=2 Frag needed and DF set (mtu = 942)                                           
      ping: local error: message too long, mtu=942                                                          
                                                                                                            
      — 20.0.0.3 ping statistics —                                                                      
      3 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2022ms                           
                                                                                                            
      [root@wsfd-advnetlab18 bz2241711]# ip netns exec sw0p1 ip route get 20.0.0.3                          
      20.0.0.3 via 10.0.0.1 dev sw0p1_v src 10.0.0.3 uid 0                                                  
          cache expires 580sec mtu 942                                                                      
      [root@wsfd-advnetlab18 bz2241711]# ip netns exec sw0p1 ip route get 10.0.0.4                          
      10.0.0.4 dev sw0p1_v src 10.0.0.3 uid 0                                                               
          cache                                                                                             
      [root@wsfd-advnetlab18 bz2241711]# rpm -qa | grep -E "openvswitch|ovn"                                
      openvswitch-selinux-extra-policy-1.0-34.el9fdp.noarch                                                 
      ovn23.09-23.09.0-105.el9fdp.x86_64                                                                    
      ovn23.09-central-23.09.0-105.el9fdp.x86_64                                                            
      ovn23.09-host-23.09.0-105.el9fdp.x86_64                                                               
      openvswitch3.2-3.2.0-52.el9fdp.x86_64                                                                 
      python3-openvswitch3.2-3.2.0-52.el9fdp.x86_64

       

      it's related to https://bugzilla.redhat.com/show_bug.cgi?id=2241711

       

              lorenzobianconi lorenzo bianconi
              rhn-support-jishi Jianlin Shi
              Jianlin Shi Jianlin Shi
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: