Re: Creating/destroying bulk VLAN interfaces takes too long

2021-08-30 Thread Eugene Grosbein
30.08.2021 14:13, Özkan KIRIK wrote:

> Any suggestions?

1) Try stopping devd before test to see if it helps. devd runs LOTS of shell 
code upon interface creation.
2) Try "ifconfig em1 down" before test and "ifconfig em1 up" after.

Also, look at kernel logs with timestamps to see how much time it takes for 
kernel to respond on new vlan arrival.




Re: Creating/destroying bulk VLAN interfaces takes too long

2021-08-30 Thread Hans Petter Selasky

On 8/30/21 9:13 AM, Özkan KIRIK wrote:

Hello,

I'm using FreeBSD stable/12. Creating/destroying bulk vlan interfaces takes
too long to finish. Running parallel doesn't matter.
Is there any fast way to create 100 vlan interfaces?

seq 1 100 | /usr/bin/time xargs -t -n 1 -I % ifconfig em1.% create
...
ifconfig em1.99 create
ifconfig em1.100 create
14.78 real 0.03 user 1.19 sys

with 4 parallel workers:
seq 1 100 | /usr/bin/time xargs -t -P4 -n 1 -I % ifconfig em1.% create
...
ifconfig em1.99 create
ifconfig em1.100 create
14.46 real 0.03 user 1.20 sys

destroying:
ifconfig -g vlan | /usr/bin/time xargs -t -n 1 -I % ifconfig % destroy
...
ifconfig em1.98 destroy
ifconfig em1.100 destroy
21.89 real 0.03 user 1.64 sys

Any suggestions?



Creating VLAN interfaces sometimes involve firmware commands on the 
network devices which take time.


--HPS



Creating/destroying bulk VLAN interfaces takes too long

2021-08-30 Thread Özkan KIRIK
Hello,

I'm using FreeBSD stable/12. Creating/destroying bulk vlan interfaces takes
too long to finish. Running parallel doesn't matter.
Is there any fast way to create 100 vlan interfaces?

seq 1 100 | /usr/bin/time xargs -t -n 1 -I % ifconfig em1.% create
...
ifconfig em1.99 create
ifconfig em1.100 create
   14.78 real 0.03 user 1.19 sys

with 4 parallel workers:
seq 1 100 | /usr/bin/time xargs -t -P4 -n 1 -I % ifconfig em1.% create
...
ifconfig em1.99 create
ifconfig em1.100 create
   14.46 real 0.03 user 1.20 sys

destroying:
ifconfig -g vlan | /usr/bin/time xargs -t -n 1 -I % ifconfig % destroy
...
ifconfig em1.98 destroy
ifconfig em1.100 destroy
   21.89 real 0.03 user 1.64 sys

Any suggestions?