After remove interface VIF from VyOS(1.2.0-rc9), eternally messages "kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6"


#1

I was using BGP with VyOS(1.2.0-rc9), a VIF on ETH4 with v4/v6 address. This interface was in use with a BGP session, with prefix-list and route-maps (bellow is the original config).

This was my ETH4 config:

set interfaces ethernet eth4 vif 4088 description '>>PROVIDER<<'
set interfaces ethernet eth4 vif 4088 address '172.16.251.9/29'
set interfaces ethernet eth4 vif 4088 address 'xxxx:yyyy:aaaa:bbbb::2/64'

Then I only shut down my BGP session:

set protocols bgp 543210 neighbor 172.16.251.10 shutdown
commit

Then I removed it, to create the same on ETH6:

delete interfaces ethernet eth4 vif 4088
commit

After this, every 10 seconds a message is printed (on VyOS CLI):

Message from syslogd@RTTEST01-xxx at Dec 21 06:55:20 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

Message from syslogd@RTTEST01-xxx at Dec 21 06:55:30 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

Message from syslogd@RTTEST01-xxx at Dec 21 06:55:40 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

Message from syslogd@RTTEST01-xxx at Dec 21 06:55:50 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

Message from syslogd@RTTEST01-xxx at Dec 21 06:56:00 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

On Linux bash, this interface was removed, but on VyOS CLI is remains there:

set interfaces ethernet eth4 vif 4088 description '>>PROVIDER<<'
set interfaces ethernet eth4 vif 4088 address '172.16.251.9/29'
set interfaces ethernet eth4 vif 4088 address 'xxxx:yyyy:aaaa:bbbb::2/64'

I created this VIF + same addresses on ETH6 normally and start BGP session normally.
The problem is this message printed every 10s.


#2

Related config (changed real ASN, IPs, names, …) :

set firewall name INTERNETtoLOCAL rule 304 source address '172.16.251.10'
set firewall name INTERNETtoLOCAL rule 511 description '>>PERMITE-MGMT-PROVIDER<<'
set firewall name INTERNETtoLOCAL rule 512 description '>>PERMITE-MGMT-PROVIDER<<'
set firewall name INTERNETtoLOCAL rule 513 description '>>PERMITE-MGMT-PROVIDER<<'
set firewall name INTERNETtoLOCAL rule 514 description '>>PERMITE-MGMT-PROVIDER<<'
set interfaces ethernet eth4 vif 4088 description '>>PROVIDER<<'
set interfaces ethernet eth4 vif 4088 address '172.16.251.9/29'
set interfaces ethernet eth4 vif 4088 address 'xxxx:yyyy:aaaa:bbbb::2/64'
set policy prefix-list PL-PROVIDER-aa22 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-aa22 rule 1 prefix '10.11.122.0/22'
set policy prefix-list PL-PROVIDER-aa23 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-aa23 rule 1 prefix '10.11.122.0/23'
set policy prefix-list PL-PROVIDER-aa24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-aa24 rule 1 prefix '10.11.122.0/24'
set policy prefix-list PL-PROVIDER-bb24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-bb24 rule 1 prefix '10.11.123.0/24'
set policy prefix-list PL-PROVIDER-cc23 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-cc23 rule 1 prefix '10.11.124.0/23'
set policy prefix-list PL-PROVIDER-cc24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-cc24 rule 1 prefix '10.11.124.0/24'
set policy prefix-list PL-PROVIDER-5aa4 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-5aa4 rule 1 prefix '10.11.125.0/24'
set policy prefix-list PL-PROVIDER-ee22 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-ee22 rule 1 prefix '10.21.220.0/22'
set policy prefix-list PL-PROVIDER-ee23 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-ee23 rule 1 prefix '10.21.220.0/23'
set policy prefix-list PL-PROVIDER-ee24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-ee24 rule 1 prefix '10.21.220.0/24'
set policy prefix-list PL-PROVIDER-ff24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-ff24 rule 1 prefix '10.21.221.0/24'
set policy prefix-list PL-PROVIDER-gg23 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-gg23 rule 1 prefix '10.21.222.0/23'
set policy prefix-list PL-PROVIDER-gg24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-gg24 rule 1 prefix '10.21.222.0/24'
set policy prefix-list PL-PROVIDER-hh24 rule 1 action 'permit'
set policy prefix-list PL-PROVIDER-hh24 rule 1 prefix '10.21.223.0/24'
set policy prefix-list PROVIDER-IN-PL rule 10 action 'permit'
set policy prefix-list PROVIDER-IN-PL rule 10 le '24'
set policy prefix-list PROVIDER-IN-PL rule 10 prefix '0.0.0.0/0'
set policy route-map PROVIDER-IN rule 11 action 'deny'
set policy route-map PROVIDER-IN rule 11 match ip address prefix-list 'BOGON-IN-PL'
set policy route-map PROVIDER-IN rule aa22 action 'permit'
set policy route-map PROVIDER-IN rule aa22 match ip address prefix-list 'PL-PROVIDER-aa22'
set policy route-map PROVIDER-IN rule aa22 set local-preference '5000'
set policy route-map PROVIDER-IN rule aa23 action 'permit'
set policy route-map PROVIDER-IN rule aa23 match ip address prefix-list 'PL-PROVIDER-aa23'
set policy route-map PROVIDER-IN rule aa23 set local-preference '5000'
set policy route-map PROVIDER-IN rule aa24 action 'permit'
set policy route-map PROVIDER-IN rule aa24 match ip address prefix-list 'PL-PROVIDER-aa24'
set policy route-map PROVIDER-IN rule aa24 set local-preference '5000'
set policy route-map PROVIDER-IN rule bb24 action 'permit'
set policy route-map PROVIDER-IN rule bb24 match ip address prefix-list 'PL-PROVIDER-bb24'
set policy route-map PROVIDER-IN rule bb24 set local-preference '5000'
set policy route-map PROVIDER-IN rule cc23 action 'permit'
set policy route-map PROVIDER-IN rule cc23 match ip address prefix-list 'PL-PROVIDER-cc23'
set policy route-map PROVIDER-IN rule cc23 set local-preference '5000'
set policy route-map PROVIDER-IN rule cc24 action 'permit'
set policy route-map PROVIDER-IN rule cc24 match ip address prefix-list 'PL-PROVIDER-cc24'
set policy route-map PROVIDER-IN rule cc24 set local-preference '5000'
set policy route-map PROVIDER-IN rule 5aa4 action 'permit'
set policy route-map PROVIDER-IN rule 5aa4 match ip address prefix-list 'PL-PROVIDER-5aa4'
set policy route-map PROVIDER-IN rule 5aa4 set local-preference '5000'
set policy route-map PROVIDER-IN rule ee22 action 'permit'
set policy route-map PROVIDER-IN rule ee22 match ip address prefix-list 'PL-PROVIDER-ee22'
set policy route-map PROVIDER-IN rule ee22 set local-preference '5000'
set policy route-map PROVIDER-IN rule ee23 action 'permit'
set policy route-map PROVIDER-IN rule ee23 match ip address prefix-list 'PL-PROVIDER-ee23'
set policy route-map PROVIDER-IN rule ee23 set local-preference '5000'
set policy route-map PROVIDER-IN rule ee24 action 'permit'
set policy route-map PROVIDER-IN rule ee24 match ip address prefix-list 'PL-PROVIDER-ee24'
set policy route-map PROVIDER-IN rule ee24 set local-preference '5000'
set policy route-map PROVIDER-IN rule ff24 action 'permit'
set policy route-map PROVIDER-IN rule ff24 match ip address prefix-list 'PL-PROVIDER-ff24'
set policy route-map PROVIDER-IN rule ff24 set local-preference '5000'
set policy route-map PROVIDER-IN rule gg23 action 'permit'
set policy route-map PROVIDER-IN rule gg23 match ip address prefix-list 'PL-PROVIDER-gg23'
set policy route-map PROVIDER-IN rule gg23 set local-preference '5000'
set policy route-map PROVIDER-IN rule gg24 action 'permit'
set policy route-map PROVIDER-IN rule gg24 match ip address prefix-list 'PL-PROVIDER-gg24'
set policy route-map PROVIDER-IN rule gg24 set local-preference '5000'
set policy route-map PROVIDER-IN rule hh24 action 'permit'
set policy route-map PROVIDER-IN rule hh24 match ip address prefix-list 'PL-PROVIDER-hh24'
set policy route-map PROVIDER-IN rule hh24 set local-preference '5000'
set policy route-map PROVIDER-IN rule 64000 action 'permit'
set policy route-map PROVIDER-IN rule 64000 match as-path 'AMAZON-US'
set policy route-map PROVIDER-IN rule 64000 set local-preference '500'
set policy route-map PROVIDER-IN rule 64001 action 'permit'
set policy route-map PROVIDER-IN rule 64001 match as-path 'GVO-DC-US'
set policy route-map PROVIDER-IN rule 64001 set local-preference '500'
set policy route-map PROVIDER-IN rule 64002 action 'permit'
set policy route-map PROVIDER-IN rule 64002 match as-path 'MICROSOFT'
set policy route-map PROVIDER-IN rule 64002 set local-preference '500'
set policy route-map PROVIDER-IN rule 64003 action 'permit'
set policy route-map PROVIDER-IN rule 64003 match as-path 'CLOUDFLARE'
set policy route-map PROVIDER-IN rule 64003 set local-preference '500'
set policy route-map PROVIDER-IN rule 64999 action 'permit'
set policy route-map PROVIDER-IN rule 64999 set local-preference '199'
set policy route-map PROVIDER-OUT rule 4y220 action 'permit'
set policy route-map PROVIDER-OUT rule 4y220 match ip address prefix-list 'PL-4y-22-OUT'
set policy route-map PROVIDER-OUT rule 4y220 set as-path-prepend '543210 543210 543210'
set policy route-map PROVIDER-OUT rule 4y230 action 'permit'
set policy route-map PROVIDER-OUT rule 4y230 match ip address prefix-list 'PL-4y-23-OUT'
set policy route-map PROVIDER-OUT rule 4y230 set as-path-prepend '543210 543210 543210'
set policy route-map PROVIDER-OUT rule 4y240 action 'permit'
set policy route-map PROVIDER-OUT rule 4y240 match ip address prefix-list 'PL-4y-24-OUT'
set policy route-map PROVIDER-OUT rule 4y240 set as-path-prepend '543210 543210 543210'
set policy route-map PROVIDER-OUT rule 4aa40 action 'permit'
set policy route-map PROVIDER-OUT rule 4aa40 match ip address prefix-list 'PL-45-24-OUT'
set policy route-map PROVIDER-OUT rule 4aa40 on-match next
set policy route-map PROVIDER-OUT rule 4aa40 set as-path-prepend '543210 543210'
set policy route-map PROVIDER-OUT rule 4gg30 action 'permit'
set policy route-map PROVIDER-OUT rule 4gg30 match ip address prefix-list 'PL-46-23-OUT'
set policy route-map PROVIDER-OUT rule 4gg30 set as-path-prepend '543210 543210'
set policy route-map PROVIDER-OUT rule 4gg40 action 'permit'
set policy route-map PROVIDER-OUT rule 4gg40 match ip address prefix-list 'PL-46-24-OUT'
set policy route-map PROVIDER-OUT rule 4gg40 on-match next
set policy route-map PROVIDER-OUT rule 4gg40 set as-path-prepend '543210 543210 543210'
set policy route-map PROVIDER-OUT rule 47240 action 'permit'
set policy route-map PROVIDER-OUT rule 47240 match ip address prefix-list 'PL-47-24-OUT'
set policy route-map PROVIDER-OUT rule 47240 on-match next
set policy route-map PROVIDER-OUT rule 47240 set as-path-prepend '543210 543210 543210 543210 543210 543210'
set policy route-map PROVIDER-OUT rule 64000 action 'deny'
set policy route-map PROVIDER-OUT rule 65000 action 'permit'
set policy route-map PROVIDER-OUT rule 65000 set as-path-prepend '543210 543210 543210 543210'
set protocols bgp 543210 neighbor 172.16.251.10 address-family ipv4-unicast route-map export 'PROVIDER-OUT'
set protocols bgp 543210 neighbor 172.16.251.10 address-family ipv4-unicast route-map import 'PROVIDER-IN'
set protocols bgp 543210 neighbor 172.16.251.10 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp 543210 neighbor 172.16.251.10 remote-as '012345'
set protocols bgp 543210 neighbor 172.16.251.10 update-source '172.16.251.9'
set protocols static route 10.20.30.0/22 next-hop 172.16.251.10

#3

I removed this config editing /config/config.boot, and tried to commit something, but it remained reporting error.

root@RTTEST01-xxx:/home/luis# vi /config/config.boot
root@RTTEST01-xxx:/home/luis# exit
exit
[edit]
luis@RTTEST01-xxx# commit
Message from syslogd@RTTEST01-xxx at Dec 21 07:36:40 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6


[ interfaces ethernet eth4 vif 4088 description >>PROVIDER<< ]
sh: /sys/class/net/eth4.4088/ifalias: No such file or directory

delete [ interfaces ethernet eth4 vif 4088 ] failed
Commit failed

Message from syslogd@RTTEST01-xxx at Dec 21 07:36:51 ...
 kernel:unregister_netdevice: waiting for eth4.4088 to become free. Usage count = 6

[edit]
luis@RTTEST01-xxx# 

Then I reboot the server and after boot the system, the error was resolved. The problem was need to reboot, or is there some safe mode the reapply config?