mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 21:39:35 -04:00
selftests: drv-net: allow switching env IP version
NetDrvEpEnv picks a single IP version at init time, preferring IPv6 when both are configured. Add NetDrvEpEnv.set_ipver() to reselect the IP version and recompute the derived address fields. Reviewed-by: Carolina Jubran <cjubran@nvidia.com> Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com> Signed-off-by: Nimrod Oren <noren@nvidia.com> Link: https://patch.msgid.link/20260702062348.2123960-2-noren@nvidia.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
@@ -159,13 +159,7 @@ class NetDrvEpEnv(NetDrvEnvBase):
|
||||
|
||||
self.remote = Remote(kind, args, src_path)
|
||||
|
||||
self.addr_ipver = "6" if self.addr_v["6"] else "4"
|
||||
self.addr = self.addr_v[self.addr_ipver]
|
||||
self.remote_addr = self.remote_addr_v[self.addr_ipver]
|
||||
|
||||
# Bracketed addresses, some commands need IPv6 to be inside []
|
||||
self.baddr = f"[{self.addr_v['6']}]" if self.addr_v["6"] else self.addr_v["4"]
|
||||
self.remote_baddr = f"[{self.remote_addr_v['6']}]" if self.remote_addr_v["6"] else self.remote_addr_v["4"]
|
||||
self.set_ipver("6" if self.addr_v["6"] else "4")
|
||||
|
||||
self.ifname = self.dev['ifname']
|
||||
self.ifindex = self.dev['ifindex']
|
||||
@@ -252,6 +246,25 @@ class NetDrvEpEnv(NetDrvEnvBase):
|
||||
if not self.addr_v[ipver] or not self.remote_addr_v[ipver]:
|
||||
raise KsftSkipEx(f"Test requires IPv{ipver} connectivity")
|
||||
|
||||
def set_ipver(self, ipver):
|
||||
"""
|
||||
Modify the IP version used by the generic address fields.
|
||||
"""
|
||||
if ipver == getattr(self, "addr_ipver", None):
|
||||
return
|
||||
|
||||
self.require_ipver(ipver)
|
||||
|
||||
self.addr_ipver = ipver
|
||||
self.addr = self.addr_v[ipver]
|
||||
self.remote_addr = self.remote_addr_v[ipver]
|
||||
|
||||
# Bracketed addresses, some commands need IPv6 to be inside []
|
||||
self.baddr = (f"[{self.addr_v['6']}]" if ipver == "6"
|
||||
else self.addr_v["4"])
|
||||
self.remote_baddr = (f"[{self.remote_addr_v['6']}]" if ipver == "6"
|
||||
else self.remote_addr_v["4"])
|
||||
|
||||
def require_nsim(self, nsim_test=True):
|
||||
"""Require or exclude netdevsim for this test"""
|
||||
if nsim_test and self._ns is None:
|
||||
|
||||
Reference in New Issue
Block a user