# This is an example for a minimal loopback configuration # # All messages will be sent back to the origin using UDP packets. # # You can use this configuration in conjunction with the 'send', 'receive' and 'random' # utilities as shown below (run all three steps in parallel). # # 0. Overview: # # villas signal --PIPE--> ./pipe --UDP--> ./node --UDP--> ./pipe # # 1. Start server: # # $ villas node etc/loopback.conf # # 2. Send random data to server: # # $ villas signal random -r 10 -v 4 | villas pipe etc/loopback.conf node1 # # 3. Receive data from server: # # $ villas pipe etc/loopback.conf node2 # # Author: Steffen Vogel # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 nodes = { node1 = { type = "socket" layer = "udp" in = { # Local ip:port, use '*' for random port address = "127.0.0.1:12000" } out = { address = "127.0.0.1:12001" netem = { enabled = false delay = 1000000 # In micro seconds! jitter = 300000 distribution = "normal" } } }, node2 = { type = "socket" layer = "udp" in = { # Local ip:port, use '*' for random port address = "127.0.0.1:12001" } out = { address = "127.0.0.1:12002" } }, node3 = { type = "socket" layer = "udp" in = { # Local ip:port, use '*' for random port address = "127.0.0.1:12002" } out = { address = "127.0.0.1:12000" } }, loopback = { type = "socket" layer = "udp" in = { # Local ip:port, use '*' for random port address = "127.0.0.1:12003" } out = { address = "127.0.0.1:12003" } } } paths = ( { # Name of the node we listen to (see above) in = "node1" # And we loop back to the origin out = "node2" hooks = ( { type = "print" } ) } )