Verification for jammy:linux on machine beldam:

+ uname -a
Linux beldam 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 
x86_64 x86_64 x86_64 GNU/Linux
+ echo 0
+ echo
+ echo
+ echo 0
+ echo
+ echo function
+ echo i40e_vc_reset_vf
+ echo 'p:i40e_probe i40e_ndo_set_vf_link_state netdev=%di vf_id=%si:x32 
link=%dx:x32'
+ echo 1
+ echo 1
+ echo 4
+ sudo tee /sys/class/net/enp176s0f0/device/sriov_numvfs
4
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state enable
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state enable, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state disable
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state disable, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ echo 0
+ cp /sys/kernel/debug/tracing/trace /tmp/trace.out
+ cat /tmp/trace.out
# tracer: function
#
# entries-in-buffer/entries-written: 13/13   #P:80
#
#                                _-----=> irqs-off
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
              ip-2158    [065] .....    56.836980: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x0
              ip-2158    [065] .....    56.836984: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2163    [065] .....    61.982873: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x0
              ip-2163    [065] .....    61.982876: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2166    [026] .....    67.130111: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x1
              ip-2166    [026] .....    67.130115: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2169    [026] .....    72.278177: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x2
              ip-2172    [026] .....    77.285939: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x0
              ip-2172    [026] .....    77.285941: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2175    [066] .....    82.434528: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x0
              ip-2175    [066] .....    82.434530: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2177    [065] .....    87.579797: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x1e0 [i40e]) netdev=0xffff8d808caa2000 
vf_id=0x0 link=0x0
              ip-2177    [065] .....    87.579800: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state

Re-running test with kernel from -164 from -proposed:

+ uname -a
Linux beldam 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 
x86_64 x86_64 x86_64 GNU/Linux
+ echo 0
+ echo
+ echo
+ echo 0
+ echo
+ echo function
+ echo i40e_vc_reset_vf
+ echo 'p:i40e_probe i40e_ndo_set_vf_link_state netdev=%di vf_id=%si:x32 
link=%dx:x32'
+ echo 1
+ echo 1
+ echo 4
+ sudo tee /sys/class/net/enp176s0f0/device/sriov_numvfs
4
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state enable
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state enable, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state disable
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state disable, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link show enp176s0f0
2: enp176s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN 
mode DEFAULT group default qlen 1000
    link/ether 40:a6:b7:5d:39:88 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 5a:ad:a2:b2:a4:90 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 1     link/ether 6a:f9:15:ff:2e:da brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 2     link/ether 06:fd:29:99:12:ee brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
    vf 3     link/ether 3e:37:a7:f9:6b:e2 brd ff:ff:ff:ff:ff:ff, spoof checking 
on, link-state auto, trust off
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ ip link set enp176s0f0 vf 0 state auto
+ sleep 5
+ echo 0
+ cp /sys/kernel/debug/tracing/trace /tmp/trace.out
+ cat /tmp/trace.out
# tracer: function
#
# entries-in-buffer/entries-written: 9/9   #P:80
#
#                                _-----=> irqs-off
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
              ip-2596    [037] .....  1910.983360: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x0
              ip-2598    [037] .....  1915.988117: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x0
              ip-2601    [037] .....  1920.995596: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x1
              ip-2601    [037] .....  1920.995598: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2604    [078] .....  1926.143302: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x2
              ip-2608    [078] .....  1931.151087: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x0
              ip-2608    [078] .....  1931.151090: i40e_vc_reset_vf 
<-i40e_ndo_set_vf_link_state
              ip-2611    [078] .....  1936.299447: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x0
              ip-2613    [077] .....  1941.304198: i40e_probe: 
(i40e_ndo_set_vf_link_state+0x0/0x240 [i40e]) netdev=0xffff8a11c69c1000 
vf_id=0x0 link=0x0

** Tags removed: verification-needed-jammy-linux
** Tags added: verification-done-jammy-linux

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2130552

Title:
  i40e driver is triggering VF resets on every link state change

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2130552/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to