...
Code Block |
---|
lctl net_drop_add -s *@tcp -d *@tcp -m ACK -i 20 lctl net_drop_add -s *@tcp -d *@tcp -m REPLY -i 20 lctl net_drop_add -s *@tcp -d *@tcp -m GET -i 143 -e random -n lctl net_drop_add -s *@tcp -d *@tcp -m PUT -i 20 -e random lctl net_drop_del -s *@tcp -d *@tcp |
...
Code Block |
---|
local_interrupt # will result in a resend local_dropped # will result in a resend local_aborted # will result in a resend local_no_route # will result in a resend local_error # will not result in a resend local_timeout # will result in a resend remote_error # will not result in a resend remote_dropped # will result in a resend remote_timeout # will not result in a resend network_timeout # will not result in a resend random silent_drop queue # will dropqueue the message and never call lnet_finalize() |
The -e
can be repeated multiple times to specify a set of different errors . The error simulated will be selected to select randomly from the ones defined. random
can be given to -e
to select any error to simulate at random.
...
Type | Description |
---|---|
Drop with error | This is the newly added error simulation. And it is designed to simulate different health failures. This can be used to exercise the following scenarios
|
Drop Received messages | This an existing rule and it can be used to drop received GET/PUT messages. This will result in no ACK/REPLY being sent to the message initiator and will exercise the response timeout code. |
Queuing messages | In a heavily used systems, especially routers, the credits can dip below zero and a message can be queued internally. It's possible that these message can be queued for a long period of time, so a mechanims was created to finalize these messages after the expiration time. A command can be issued to simulate queueing. This will queue the message on a separate queue which is never checked except when the message expires. The message credit is not returned until the message expires. |
Configuration
LNet Health is off by default. To turn it on, two configuration parameters need to be set
...