jepsen.net.proto

Protocols for network manipulation. High-level functions live in jepsen.net.

Net

protocol

members

drop!

(drop! net test src dest)

Drop traffic from src to dest.

fast!

(fast! net test)

Removes packet loss and delays.

flaky!

(flaky! net test)

Introduces randomized packet loss

heal!

(heal! net test)

End all traffic drops and restores network to fast operation.

shape!

(shape! net test nodes behavior)

Shapes network behavior, i.e. packet delay, loss, corruption, duplication, reordering, and rate for the given nodes.

slow!

(slow! net test)(slow! net test opts)

Delays network packets with options:

  {:mean          ; (in ms)
  :variance       ; (in ms)
  :distribution}  ; (e.g. :normal)

PartitionAll

protocol

This optional protocol provides support for making multiple network changes in a single call. If you don’t support this protocol, we’ll use drop! instead.

members

drop-all!

(drop-all! net test grudge)

Takes a grudge: a map of nodes to collections of nodes they should drop messages from, and makes the appropriate changes to the network.