• Hangbin Liu's avatar
    selftests: net: rps_default_mask.sh: delete veth link specifically · 38e058cc
    Hangbin Liu authored
    When deleting the netns and recreating a new one while re-adding the
    veth interface, there is a small window of time during which the old
    veth interface has not yet been removed. This can cause the new addition
    to fail. To resolve this issue, we can either wait for a short while to
    ensure that the old veth interface is deleted, or we can specifically
    remove the veth interface.
    
    Before this patch:
      # ./rps_default_mask.sh
      empty rps_default_mask                                      [ ok ]
      changing rps_default_mask dont affect existing devices      [ ok ]
      changing rps_default_mask dont affect existing netns        [ ok ]
      changing rps_default_mask affect newly created devices      [ ok ]
      changing rps_default_mask don't affect newly child netns[II][ ok ]
      rps_default_mask is 0 by default in child netns             [ ok ]
      RTNETLINK answers: File exists
      changing rps_default_mask in child ns don't affect the main one[ ok ]
      cat: /sys/class/net/vethC11an1/queues/rx-0/rps_cpus: No such file or directory
      changing rps_default_mask in child ns affects new childns devices./rps_default_mask.sh: line 36: [: -eq: unary operator expected
      [fail] expected 1 found
      changing rps_default_mask in child ns don't affect existing devices[ ok ]
    
    After this patch:
      # ./rps_default_mask.sh
      empty rps_default_mask                                      [ ok ]
      changing rps_default_mask dont affect existing devices      [ ok ]
      changing rps_default_mask dont affect existing netns        [ ok ]
      changing rps_default_mask affect newly created devices      [ ok ]
      changing rps_default_mask don't affect newly child netns[II][ ok ]
      rps_default_mask is 0 by default in child netns             [ ok ]
      changing rps_default_mask in child ns don't affect the main one[ ok ]
      changing rps_default_mask in child ns affects new childns devices[ ok ]
      changing rps_default_mask in child ns don't affect existing devices[ ok ]
    
    Fixes: 3a7d84ea ("self-tests: more rps self tests")
    Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
    Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Link: https://lore.kernel.org/r/20230404072411.879476-1-liuhangbin@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    38e058cc
rps_default_mask.sh 2.05 KB