[LU-16832] Alternative option of "tc" command for lnet Created: 15/May/23  Updated: 15/May/23

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.16.0
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Shuichi Ihara Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

"tc" command in linux helps to simulate network latency and bandwidth, it works for Lustre transparently, but it only works for ksocklnd.
"lctl net_delay_add" (added in LU-5435) which is good and an alternative option of "tc" command for latency simulation.
However, it needs some improvmenets.

  • "<-l | --latency DELAY_LATENCY>" smaller value (less than 1 sec) should be configured. (msec or usec)
  • currently, either -r or -i required, but it would also allow latency only.

eventually, it could do latency similar of tc command in lnet.

[root@c01 ~]# ping mds01-100g
PING mds01-100g (192.168.0.163) 56(84) bytes of data.
64 bytes from mds01-100g (192.168.0.163): icmp_seq=1 ttl=64 time=0.154 ms
64 bytes from mds01-100g (192.168.0.163): icmp_seq=2 ttl=64 time=0.159 ms
64 bytes from mds01-100g (192.168.0.163): icmp_seq=3 ttl=64 time=0.136 ms
^C
--- mds01-100g ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2052ms
rtt min/avg/max/mdev = 0.136/0.149/0.159/0.017 ms
[root@c01 ~]# tc qdisc add dev ens785np0 root netem delay 500ms
[root@c01 ~]# ping mds01-100g
PING mds01-100g (192.168.0.163) 56(84) bytes of data.
64 bytes from mds01-100g (192.168.0.163): icmp_seq=1 ttl=64 time=500 ms
64 bytes from mds01-100g (192.168.0.163): icmp_seq=2 ttl=64 time=500 ms
64 bytes from mds01-100g (192.168.0.163): icmp_seq=3 ttl=64 time=500 ms

Generated at Sat Feb 10 03:30:23 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.