1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

update example configs

This commit is contained in:
Steffen Vogel 2019-03-25 21:17:34 +01:00
parent e4de0aad1c
commit 4f94b6f435
14 changed files with 227 additions and 198 deletions

View file

@ -4,7 +4,7 @@ nodes = {
format = "json",
# Use 'amqps://' to enable SSL/TLS
uri = "amqp://guest:guest@localhost:5672//",
uri = "amqp://username:password@hostname:port/vhost",
# Alternatively connection settings can be specified individually
username = "guest",
@ -15,11 +15,11 @@ nodes = {
exchange = "mytestexchange",
routing_key = "abc",
ssl = {
verify_hostname = true,
verify_peer = true,
ca_cert = "/path/to/ca.crt",
client_cert = "/path/to/client.crt",
client_key = "/path/to/client.key"

View file

@ -1,29 +1,3 @@
/** Example configuration file for VILLASnode/comedi.
*
* The syntax of this file is similar to JSON.
* A detailed description of the format can be found here:
* http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
*
* @author Daniel Krebs <github@daniel-krebs.net>
* @copyright 2014-2019, Institute for Automation of Complex Power Systems, EONERC
* @license GNU General Public License (version 3)
*
* VILLASnode
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************************/
nodes = {
pcie6259 = {
type = "comedi",
@ -32,7 +6,7 @@ nodes = {
subdevice = 0,
rate = 1000,
signals = (
# note: order in this array defines order in villas sample
# note: order in this array defines order in villas sample
{ channel = 0, range = 0, aref = 0, name = "temperature_int" },
{ channel = 1, range = 0, aref = 0, name = "loopback_ao0" },
{ channel = 2, range = 0, aref = 0, name = "loopback_ao1" },
@ -40,7 +14,7 @@ nodes = {
)
},
out = {
subdevice = 1,
subdevice = 1,
# Note: buffer size and rate shouldn't be changed at the moment
# output sample rate
rate = 40000,

View file

@ -1,5 +1,5 @@
nodes = {
ethernet_node = {
ethernet_node = {
type = "socket", # See above.
### The following settings are specific to the socket node-type!! ###

View file

@ -0,0 +1,27 @@
nodes = {
file_node = {
type = "file",
### The following settings are specific to the file node-type!! ###
buffer_size = 0 # Creates a stream buffer if value is positive
in = {
uri = "logs/input.log", # These options specify the URI where the the files are stored
mode = "w+", # The mode in which files should be opened (see open(2))
epoch_mode = "direct" # One of: direct (default), wait, relative, absolute
epoch = 10 # The interpretation of this value depends on epoch_mode (default is 0).
# Consult the documentation of a full explanation
rate = 2.0 # A constant rate at which the lines of the input files should be read
# A missing or zero value will use the timestamp in the first column
# of the file to determine the pause between consecutive lines.
eof = "rewind" # Rewind the file and start from the beginning.
},
out = {
uri = "logs/output_%F_%T.log" # The output URI accepts all format tokens of (see strftime(3))
mode = "a+" # You might want to use "a+" to append to a file
flush = false # Flush or upload contents of the file every time new samples are sent.
}
}
}

View file

@ -1,76 +1,76 @@
logging = {
level = 2,
facilities = "ib", // infiniband node
level = 2,
facilities = "ib", // infiniband node
}
nodes = {
results = {
type = "file",
results = {
type = "file",
uri = "logs/ib_results-%Y%m%d_%H-%M-%S.log",
},
uri = "logs/ib_results-%Y%m%d_%H-%M-%S.log",
},
siggen = {
type = "signal",
siggen = {
type = "signal",
signal = "mixed",
values = 3,
frequency = 3,
rate = 100000,
limit = 100000,
},
signal = "mixed",
values = 3,
frequency = 3,
rate = 100000,
limit = 100000,
},
ib_node_source = {
type = "infiniband",
ib_node_source = {
type = "infiniband",
rdma_port_space = "RC",
in = {
address = "10.0.0.2:1337",
rdma_port_space = "RC",
in = {
address = "10.0.0.2:1337",
max_wrs = 8192,
cq_size = 8192,
max_wrs = 8192,
cq_size = 8192,
vectorize = 1,
vectorize = 1,
buffer_subtraction = 128,
},
buffer_subtraction = 128,
},
out = {
address = "10.0.0.1:1337",
resolution_timeout = 1000,
max_wrs = 8192,
cq_size = 256,
out = {
address = "10.0.0.1:1337",
resolution_timeout = 1000,
max_wrs = 8192,
cq_size = 256,
vectorize = 1,
vectorize = 1,
send_inline = true,
max_inline_data = 60,
send_inline = true,
max_inline_data = 60,
use_fallback = true,
}
}
use_fallback = true,
}
}
ib_node_target = {
type = "infiniband",
ib_node_target = {
type = "infiniband",
rdma_port_space = "RC",
rdma_port_space = "RC",
in = {
address = "10.0.0.1:1337",
in = {
address = "10.0.0.1:1337",
max_wrs = 8192,
cq_size = 8192,
max_wrs = 8192,
cq_size = 8192,
vectorize = 1,
vectorize = 1,
buffer_subtraction = 128,
buffer_subtraction = 128,
hooks = (
{ type = "stats", verbose = true }
)
},
}
hooks = (
{ type = "stats", verbose = true }
)
}
}
}

View file

@ -17,7 +17,7 @@ nodes = {
publish = "test-topic"
},
in = {
subscribe = "test-topic"
subscribe = 1
},
ssl = {
enabled = false,

View file

@ -0,0 +1,23 @@
nodes = {
udp_node = { # The dictionary is indexed by the name of the node.
type = "socket", # For a list of available node-types run: 'villas-node -h'
### The following settings are specific to the socket node-type!! ###
in = {
address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair
multicast = { # IGMP multicast is only support for layer = (ip|udp)
enabled = true,
group = "224.1.2.3", # The multicast group. Must be within 224.0.0.0/4
interface = "1.2.3.4", # The IP address of the interface which should receive multicast packets.
ttl = 128, # The time to live for outgoing multicast packets.
loop = false, # Whether or not to loopback outgoing multicast packets to the local host.
}
},
out = {
address = "127.0.0.1:12000", # This node sents outgoing messages to this IP:Port pair
}
}
}

View file

@ -0,0 +1,27 @@
nodes = {
udp_node = { # The dictionary is indexed by the name of the node.
type = "socket", # For a list of available node-types run: 'villas-node -h'
### The following settings are specific to the socket node-type!! ###
format = "gtnet.fake", # For a list of available node-types run: 'villas-node -h'
in = {
address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair
},
out = {
address = "127.0.0.1:12000", # This node sents outgoing messages to this IP:Port pair
netem = { # Network emulation settings
enabled = true,
# Those settings can be specified for each node invidually!
delay = 100000, # Additional latency in microseconds
jitter = 30000, # Jitter in uS
distribution = "normal", # Distribution of delay: uniform, normal, pareto, paretonormal
loss = 10 # Packet loss in percent
duplicate = 10, # Duplication in percent
corrupt = 10 # Corruption in percent
}
}
}
}

View file

@ -1,38 +1,38 @@
nodes = {
rtp_node = {
type = "rtp"
rtp_node = {
type = "rtp"
rate = 10000,
rate = 10000,
rtcp = {
enabled = false,
mode = "aimd"
throttle_mode = "decimate"
}
rtcp = {
enabled = false,
mode = "aimd"
throttle_mode = "decimate"
}
aimd = {
a = 10,
b = 0.5
}
aimd = {
a = 10,
b = 0.5
}
in = {
address = "0.0.0.0:12000",
signals = {
count = 3
type = "float"
}
}
in = {
address = "0.0.0.0:12000",
signals = {
count = 3
type = "float"
}
}
out = {
address = "127.0.0.1:12000"
out = {
address = "127.0.0.1:12000"
netem = { # Network emulation settings
enabled = false,
delay = 100000, # Additional latency in microseconds
loss = 10 # Packet loss in percent
}
}
}
netem = { # Network emulation settings
enabled = false,
delay = 100000, # Additional latency in microseconds
loss = 10 # Packet loss in percent
}
}
}
}

View file

@ -2,12 +2,15 @@ nodes = {
signal_node = {
type = "signal",
signal = "sine", # One of: sine, square, ramp, counter, constant, triangle, random, mixed, constant"
values = 4, # Number of values per sample
amplitude = 2.3, # Amplitude of generated signals
frequency = 10, # Frequency of generated signals
stddev = 2, # Standard deviation of random signals (normal distributed)
rate = 10.0, # Sample rate
offset = -4.5 # DC bias / Offset
signal = "sine", # One of "sine", "square", "ramp", "triangle", "random", "mixed", "counter"
values = 4, # Number of values per sample
amplitude = 2.3, # Amplitude of generated signals
frequency = 10, # Frequency of generated signals
stddev = 2, # Standard deviation of random signals (normal distributed)
rate = 10.0, # Sample rate
offset = 1.0, # Constant offset
realtime = true, # Wait between emitting each sample
limit = 1000, # Only emit 1000 samples, then stop
monitor_missed = true # Count and warn about missed steps
}
}

View file

@ -10,50 +10,19 @@ nodes = {
### The following settings are specific to the socket node-type!! ###
layer = "udp", # Layer can be one of:
# - udp Send / receive L4 UDP packets
# - ip Send / receive L3 IP packets
# - eth Send / receive L2 Ethernet frames (IEEE802.3)
# - udp Send / receive L4 UDP packets
# - ip Send / receive L3 IP packets
# - eth Send / receive L2 Ethernet frames (IEEE802.3)
format = "gtnet.fake", # For a list of available node-types run: 'villas-node -h'
in = {
address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair
verify_source = true, # Check if source address of incoming packets matches the remote address.
multicast = { # IGMP multicast is only support for layer = (ip|udp)
enabled = true,
group = "224.1.2.3", # The multicast group. Must be within 224.0.0.0/4
interface = "1.2.3.4", # The IP address of the interface which should receive multicast packets.
ttl = 128, # The time to live for outgoing multicast packets.
loop = false, # Whether or not to loopback outgoing multicast packets to the local host.
},
hooks = (
{
type = "stats",
warmup = 100, # The first 100 samples are used to estimate bounds for the histograms
format = "human", # One of: human, json, matlab
bucket = 30, # The number of buckets for the histograms
verbose = true # Plot histograms during shutdown
}
)
verify_source = true # Check if source address of incoming packets matches the remote address.
},
out = {
address = "127.0.0.1:12000", # This node sents outgoing messages to this IP:Port pair
netem = { # Network emulation settings
enabled = true,
# Those settings can be specified for each node invidually!
delay = 100000, # Additional latency in microseconds
jitter = 30000, # Jitter in uS
distribution = "normal", # Distribution of delay: uniform, normal, pareto, paretonormal
loss = 10 # Packet loss in percent
duplicate = 10, # Duplication in percent
corrupt = 10 # Corruption in percent
}
}
}
}

View file

@ -1,50 +1,50 @@
http = {
enabled = false
enabled = false
}
nodes = {
ul201 = {
type = "uldaq"
interface_type = "usb"
in = {
range = "bipolar-10",
input_mode = "single-ended"
signals = (
{ name = "ch0", type = "float", channel = 0 }
)
ul201 = {
type = "uldaq"
interface_type = "usb"
in = {
range = "bipolar-10",
input_mode = "single-ended"
signals = (
{ name = "ch0", type = "float", channel = 0 }
)
sample_rate = 5000,
vectorize = 100
}
},
sample_rate = 5000,
vectorize = 100
}
},
sigGen = {
type = "signal"
signal = "sine"
frequency = 50
rate = 1000
}
vpmu = {
type = "socket",
layer = "udp",
sigGen = {
type = "signal"
signal = "sine"
frequency = 50
rate = 1000
}
vpmu = {
type = "socket",
layer = "udp",
format = "raw.32.be",
format = "raw.32.be",
in = {
address = "*:13001"
in = {
address = "*:13001"
signals = ()
},
out = {
vectorize = 100
address = "10.100.1.125:13000"
}
}
signals = ()
},
out = {
vectorize = 100
address = "10.100.1.125:13000"
}
}
}
paths = (
{
in = "ul201",
out = "vpmu"
}
{
in = "ul201",
out = "vpmu"
}
)

View file

@ -1,10 +1,16 @@
nodes = {
websocket_node = {
type = "websocket",
ws = {
type = "websocket"
destinations = [
"http://example.com/node-name1",
"https://example.com/another-node"
"ws://someserver:8080/somenode"
]
}
}
}
http = {
port = 8080
htdocs = "/villas/contrib/websocket/"
ssl_cert = "/etc/ssl/certs/mycert.pem"
ssl_private_key= "/etc/ssl/private/mykey.pem"
}