mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-02-21 01:42:18 +00:00
Generalise method for defining multiple interfaces
This commit is contained in:
parent
60a2aaa547
commit
4bb3336b33
@ -626,10 +626,12 @@ static void interface_read_file(struct overlay_interface *interface)
|
||||
|
||||
/* Read from interface file */
|
||||
off_t length = lseek(interface->alarm.poll.fd, (off_t)0, SEEK_END);
|
||||
|
||||
if (interface->recv_offset > length)
|
||||
FATALF("File shrunk? It shouldn't shrink! Ever");
|
||||
int new_packets = (length - interface->recv_offset) / sizeof packet;
|
||||
if (new_packets > 20)
|
||||
WARNF("Getting behind, there are %d unread packets", new_packets);
|
||||
WARNF("Getting behind, there are %d unread packets (%"PRId64" vs %"PRId64")",
|
||||
new_packets, (int64_t)interface->recv_offset, (int64_t)length);
|
||||
|
||||
if (interface->recv_offset<length){
|
||||
if (lseek(interface->alarm.poll.fd,interface->recv_offset,SEEK_SET) == -1){
|
||||
@ -647,8 +649,8 @@ static void interface_read_file(struct overlay_interface *interface)
|
||||
|
||||
if (nread == sizeof packet) {
|
||||
if (config.debug.overlayinterfaces)
|
||||
DEBUGF("Read from interface %s (filesize=%"PRId64") at offset=%d: src_addr=%s dst_addr=%s pid=%d length=%d",
|
||||
interface->name, (int64_t)length, interface->recv_offset,
|
||||
DEBUGF("Read from interface %s (filesize=%"PRId64") at offset=%"PRId64": src_addr=%s dst_addr=%s pid=%d length=%d",
|
||||
interface->name, (int64_t)length, (int64_t)interface->recv_offset,
|
||||
alloca_socket_address(&packet.src_addr),
|
||||
alloca_socket_address(&packet.dst_addr),
|
||||
packet.pid,
|
||||
@ -1114,7 +1116,6 @@ void overlay_interface_discover(struct sched_ent *alarm)
|
||||
// Close any interfaces that have gone away.
|
||||
for(i = 0; i < overlay_interface_count; i++)
|
||||
if (overlay_interfaces[i].state==INTERFACE_STATE_DETECTING) {
|
||||
DEBUGF("Closing interface stuck in DETECTING state.");
|
||||
overlay_interface_close(&overlay_interfaces[i]);
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ typedef struct overlay_interface {
|
||||
|
||||
char name[256];
|
||||
|
||||
int recv_offset; /* file offset */
|
||||
off_t recv_offset; /* file offset */
|
||||
|
||||
int recv_count;
|
||||
int tx_count;
|
||||
|
45
testdefs.sh
45
testdefs.sh
@ -654,7 +654,38 @@ create_identities() {
|
||||
# - set up the configuration immediately prior to starting a servald server process
|
||||
# - called by start_servald_instances
|
||||
configure_servald_server() {
|
||||
:
|
||||
add_servald_interface
|
||||
}
|
||||
|
||||
add_servald_interface() {
|
||||
local SOCKET_TYPE="dgram"
|
||||
local INTERFACE="1"
|
||||
local TYPE="wifi"
|
||||
while [ $# -ne 0 ]; do
|
||||
case "$1" in
|
||||
--wifi) TYPE="wifi"; shift;;
|
||||
--ethernet) TYPE="ethernet"; shift;;
|
||||
--file) SOCKET_TYPE="file"; shift;;
|
||||
*) INTERFACE="$1"; shift;;
|
||||
esac
|
||||
done
|
||||
if [ "${SOCKET_TYPE}" == "file" ]; then
|
||||
>>$SERVALD_VAR/dummy$INTERFACE
|
||||
executeOk_servald config \
|
||||
set server.interface_path $SERVALD_VAR \
|
||||
set interfaces.$INTERFACE.socket_type $SOCKET_TYPE \
|
||||
set interfaces.$INTERFACE.file dummy$INTERFACE \
|
||||
set interfaces.$INTERFACE.type $TYPE \
|
||||
set interfaces.$INTERFACE.dummy_address 127.0.$INTERFACE.$instance_number \
|
||||
set interfaces.$INTERFACE.dummy_netmask 255.255.255.224
|
||||
else
|
||||
mkdir "$SERVALD_VAR/dummy$INTERFACE/"
|
||||
executeOk_servald config \
|
||||
set server.interface_path $SERVALD_VAR \
|
||||
set interfaces.$INTERFACE.socket_type $SOCKET_TYPE \
|
||||
set interfaces.$INTERFACE.file dummy$INTERFACE/$instance_name \
|
||||
set interfaces.$INTERFACE.type $TYPE
|
||||
fi
|
||||
}
|
||||
|
||||
# Utility function:
|
||||
@ -666,29 +697,19 @@ configure_servald_server() {
|
||||
# - wait for all instances to detect each other
|
||||
# - assert that all instances are in each others' peer lists
|
||||
start_servald_instances() {
|
||||
local DUMMY=dummy
|
||||
case "$1" in
|
||||
dummy*) DUMMY="$1"; shift;;
|
||||
esac
|
||||
push_instance
|
||||
tfw_log "# start servald instances DUMMY=$DUMMY $*"
|
||||
local DUMMYNET="$SERVALD_VAR/$DUMMY"
|
||||
>$DUMMYNET
|
||||
tfw_log "# start servald instances $*"
|
||||
local I
|
||||
for I; do
|
||||
set_instance $I
|
||||
# These config settings can be overridden in a caller-supplied configure_servald_server().
|
||||
# They are extremely useful for the majority of fixtures.
|
||||
executeOk_servald config \
|
||||
set interfaces.1.file "$DUMMYNET"
|
||||
configure_servald_server
|
||||
start_servald_server
|
||||
eval DUMMY$instance_name="\$DUMMYNET"
|
||||
done
|
||||
# Now wait until they see each other.
|
||||
foreach_instance "$@" \
|
||||
wait_until --sleep=0.25 has_seen_instances "$@"
|
||||
tfw_log "# dummynet file:" $(ls -l $DUMMYNET)
|
||||
pop_instance
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ source "${0%/*}/../testframework.sh"
|
||||
source "${0%/*}/../testdefs.sh"
|
||||
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
executeOk_servald config \
|
||||
set log.console.show_pid on \
|
||||
set log.console.show_time on \
|
||||
|
@ -41,6 +41,7 @@ teardown() {
|
||||
# Called by start_servald_instances immediately before starting the server
|
||||
# process in each instance.
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
executeOk_servald config \
|
||||
set log.console.level debug \
|
||||
set log.console.show_pid on \
|
||||
|
@ -25,7 +25,7 @@ setup() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
configure_servald_server() { set_server_vars; }
|
||||
configure_servald_server() { add_servald_interface; set_server_vars; }
|
||||
start_servald_instances +A +B
|
||||
set_instance +A
|
||||
}
|
||||
@ -125,6 +125,7 @@ EOF
|
||||
chmod 0755 "$dnahelper"
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
set_server_vars
|
||||
executeOk_servald config \
|
||||
set debug.dnahelper on \
|
||||
|
@ -36,6 +36,7 @@ teardown() {
|
||||
|
||||
# Called by start_servald_instances for each instance.
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
executeOk_servald config \
|
||||
set log.show_pid on \
|
||||
set log.show_time on \
|
||||
|
@ -36,6 +36,7 @@ teardown() {
|
||||
|
||||
# Called by start_servald_instances for each instance.
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
executeOk_servald config \
|
||||
set log.console.level debug \
|
||||
set log.console.show_pid on \
|
||||
@ -574,7 +575,7 @@ setup_direct() {
|
||||
rhizome_add_file fileA3 100000
|
||||
BID_A3=$BID
|
||||
VERSION_A3=$VERSION
|
||||
start_servald_instances dummy1 +A
|
||||
start_servald_instances +A
|
||||
wait_until rhizome_http_server_started +A
|
||||
get_rhizome_server_port PORTA +A
|
||||
set_instance +B
|
||||
|
@ -36,6 +36,7 @@ teardown() {
|
||||
|
||||
# Called by start_servald_instances for each instance.
|
||||
configure_servald_server() {
|
||||
add_servald_interface
|
||||
executeOk_servald config \
|
||||
set log.file.show_pid on \
|
||||
set log.file.show_time on \
|
||||
|
142
tests/routing
142
tests/routing
@ -22,21 +22,6 @@
|
||||
source "${0%/*}/../testframework.sh"
|
||||
source "${0%/*}/../testdefs.sh"
|
||||
|
||||
add_local_interface() {
|
||||
mkdir $SERVALD_VAR/dummy$1
|
||||
executeOk_servald config \
|
||||
set interfaces.$1.file dummy$1/$instance_number \
|
||||
set interfaces.$1.socket_type dgram
|
||||
}
|
||||
|
||||
add_dummy_interface() {
|
||||
>$SERVALD_VAR/dummy$1
|
||||
executeOk_servald config \
|
||||
set interfaces.$1.file dummy$1 \
|
||||
set interfaces.$1.dummy_address 127.0.$1.$instance_number \
|
||||
set interfaces.$1.dummy_netmask 255.255.255.224
|
||||
}
|
||||
|
||||
interface_up() {
|
||||
$GREP "Interface .* is up" $instance_servald_log || return 1
|
||||
return 0
|
||||
@ -84,7 +69,6 @@ path_exists() {
|
||||
|
||||
start_routing_instance() {
|
||||
executeOk_servald config \
|
||||
set server.interface_path "$SERVALD_VAR" \
|
||||
set debug.mdprequests yes \
|
||||
set debug.linkstate yes \
|
||||
set debug.verbose yes \
|
||||
@ -115,7 +99,7 @@ setup_single_link() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
test_single_link() {
|
||||
@ -131,7 +115,7 @@ setup_multiple_ids() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_identities 2
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
test_multiple_ids() {
|
||||
@ -158,7 +142,7 @@ setup_unlock_ids() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
set_instance +A
|
||||
executeOk_servald keyring add 'entry-pin'
|
||||
extract_stdout_keyvalue SIDX sid "$rexp_sid"
|
||||
@ -188,7 +172,7 @@ setup_migrate_id() {
|
||||
set_instance +B
|
||||
executeOk_servald keyring load sidx '' 'entry-pin'
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
test_migrate_id() {
|
||||
@ -207,7 +191,7 @@ setup_single_mdp() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B executeOk_servald config set interfaces.1.encapsulation single
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
@ -224,7 +208,7 @@ setup_mismatched_encap() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A executeOk_servald config set interfaces.1.encapsulation single
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
@ -241,7 +225,7 @@ setup_single_p2p() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.encapsulation single \
|
||||
@ -319,7 +303,7 @@ setup_multiple_nodes() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
foreach_instance +A +B +C +D add_local_interface 1
|
||||
foreach_instance +A +B +C +D add_servald_interface 1
|
||||
foreach_instance +A +B +C +D start_routing_instance
|
||||
}
|
||||
test_multiple_nodes() {
|
||||
@ -343,7 +327,7 @@ setup_scan() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C create_single_identity
|
||||
foreach_instance +A +B +C add_dummy_interface 1
|
||||
foreach_instance +A +B +C add_servald_interface --file 1
|
||||
foreach_instance +A +B +C \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_broadcasts on
|
||||
@ -393,7 +377,7 @@ setup_single_filter() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
set_instance +B
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_broadcasts on
|
||||
@ -417,7 +401,7 @@ setup_broadcast_only() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config set interfaces.1.drop_unicasts 1
|
||||
foreach_instance +A +B start_routing_instance
|
||||
@ -437,7 +421,7 @@ setup_prefer_unicast() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.prefer_unicast 1 \
|
||||
@ -459,9 +443,9 @@ setup_multihop_linear() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +B +C add_local_interface 2
|
||||
foreach_instance +C +D add_local_interface 3
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +B +C add_servald_interface 2
|
||||
foreach_instance +C +D add_servald_interface 3
|
||||
foreach_instance +A +B +C +D start_routing_instance
|
||||
}
|
||||
test_multihop_linear() {
|
||||
@ -485,9 +469,9 @@ setup_unicast_route() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +B +C add_dummy_interface 2
|
||||
foreach_instance +C +D add_dummy_interface 3
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +B +C add_servald_interface --file 2
|
||||
foreach_instance +C +D add_servald_interface --file 3
|
||||
set_instance +A
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_broadcasts on
|
||||
@ -509,8 +493,8 @@ setup_offline() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
foreach_instance +A +B +C add_local_interface 1
|
||||
foreach_instance +A +B +D add_local_interface 2
|
||||
foreach_instance +A +B +C add_servald_interface 1
|
||||
foreach_instance +A +B +D add_servald_interface 2
|
||||
foreach_instance +A +B +C +D start_routing_instance
|
||||
}
|
||||
|
||||
@ -548,8 +532,8 @@ setup_lose_neighbours() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +B +C add_local_interface 2
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +B +C add_servald_interface 2
|
||||
foreach_instance +A +B +C start_routing_instance
|
||||
}
|
||||
test_lose_neighbours() {
|
||||
@ -569,37 +553,27 @@ setup_multi_interface() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
>$SERVALD_VAR/dummywifi
|
||||
>$SERVALD_VAR/dummyeth
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.file dummywifi \
|
||||
set interfaces.1.dummy_address 127.0.1.$instance_number \
|
||||
set interfaces.1.dummy_netmask 255.255.255.224 \
|
||||
set interfaces.1.type wifi \
|
||||
set interfaces.2.file dummyeth \
|
||||
set interfaces.2.dummy_address 127.0.2.$instance_number \
|
||||
set interfaces.2.dummy_netmask 255.255.255.224 \
|
||||
set interfaces.2.type ethernet
|
||||
foreach_instance +A +B add_servald_interface --wifi 1
|
||||
foreach_instance +A +B add_servald_interface --ethernet 2
|
||||
foreach_instance +A +B start_routing_instance
|
||||
}
|
||||
|
||||
doc_multi_interface="Multiple links of different types to the same neighbour"
|
||||
test_multi_interface() {
|
||||
set_instance +A
|
||||
wait_until has_link dummyeth +A +B +B $SIDB $SIDB
|
||||
wait_until has_link "dummy2.*" +A +B +B $SIDB $SIDB
|
||||
set_instance +B
|
||||
wait_until has_link dummyeth +B +A +A $SIDA $SIDA
|
||||
wait_until has_link "dummy2.*" +B +A +A $SIDA $SIDA
|
||||
set_instance +A
|
||||
executeOk_servald config set interfaces.2.exclude 1
|
||||
wait_until has_link dummywifi +A +B +B $SIDB $SIDB
|
||||
wait_until has_link "dummy1.*" +A +B +B $SIDB $SIDB
|
||||
set_instance +B
|
||||
wait_until has_link dummywifi +B +A +A $SIDA $SIDA
|
||||
wait_until has_link "dummy1.*" +B +A +A $SIDA $SIDA
|
||||
set_instance +A
|
||||
executeOk_servald config del interfaces.2.exclude
|
||||
wait_until has_link dummyeth +A +B +B $SIDB $SIDB
|
||||
wait_until has_link "dummy2.*" +A +B +B $SIDB $SIDB
|
||||
set_instance +B
|
||||
wait_until has_link dummyeth +B +A +A $SIDA $SIDA
|
||||
wait_until has_link "dummy2.*" +B +A +A $SIDA $SIDA
|
||||
}
|
||||
|
||||
# TODO assert that all packets arrive? assert that no duplicates arrive?
|
||||
@ -608,7 +582,7 @@ setup_ping_unreliable() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_packets 40
|
||||
@ -627,11 +601,11 @@ setup_ping_unreliable2() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_packets 40
|
||||
foreach_instance +B +C add_dummy_interface 2
|
||||
foreach_instance +B +C add_servald_interface --file 2
|
||||
foreach_instance +B +C \
|
||||
executeOk_servald config \
|
||||
set interfaces.2.drop_packets 40
|
||||
@ -650,7 +624,7 @@ setup_brping_unreliable() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +A +B \
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_packets 20
|
||||
@ -669,9 +643,9 @@ setup_unreliable_links() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +B +C add_dummy_interface 2
|
||||
foreach_instance +A +C add_dummy_interface 3
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +B +C add_servald_interface --file 2
|
||||
foreach_instance +A +C add_servald_interface --file 3
|
||||
set_instance +A
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_packets 5 \
|
||||
@ -701,12 +675,12 @@ setup_unreliable_links2() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D create_single_identity
|
||||
foreach_instance +A +B add_dummy_interface 1
|
||||
foreach_instance +A +C add_dummy_interface 2
|
||||
foreach_instance +A +D add_dummy_interface 3
|
||||
foreach_instance +B +C add_dummy_interface 4
|
||||
foreach_instance +B +D add_dummy_interface 5
|
||||
foreach_instance +C +D add_dummy_interface 6
|
||||
foreach_instance +A +B add_servald_interface --file 1
|
||||
foreach_instance +A +C add_servald_interface --file 2
|
||||
foreach_instance +A +D add_servald_interface --file 3
|
||||
foreach_instance +B +C add_servald_interface --file 4
|
||||
foreach_instance +B +D add_servald_interface --file 5
|
||||
foreach_instance +C +D add_servald_interface --file 6
|
||||
set_instance +A
|
||||
executeOk_servald config \
|
||||
set interfaces.1.drop_packets 5 \
|
||||
@ -741,14 +715,14 @@ setup_circle() {
|
||||
setup_servald
|
||||
assert_no_servald_processes
|
||||
foreach_instance +A +B +C +D +E +F +G +H create_single_identity
|
||||
foreach_instance +A +B add_local_interface 1
|
||||
foreach_instance +B +C add_local_interface 2
|
||||
foreach_instance +C +D add_local_interface 3
|
||||
foreach_instance +D +E add_local_interface 4
|
||||
foreach_instance +E +F add_local_interface 5
|
||||
foreach_instance +F +G add_local_interface 6
|
||||
foreach_instance +G +H add_local_interface 7
|
||||
foreach_instance +H +A add_local_interface 8
|
||||
foreach_instance +A +B add_servald_interface 1
|
||||
foreach_instance +B +C add_servald_interface 2
|
||||
foreach_instance +C +D add_servald_interface 3
|
||||
foreach_instance +D +E add_servald_interface 4
|
||||
foreach_instance +E +F add_servald_interface 5
|
||||
foreach_instance +F +G add_servald_interface 6
|
||||
foreach_instance +G +H add_servald_interface 7
|
||||
foreach_instance +H +A add_servald_interface 8
|
||||
foreach_instance +A +B +C +D +E +F +G +H start_routing_instance
|
||||
}
|
||||
|
||||
@ -780,13 +754,13 @@ setup_crowded_mess() {
|
||||
assert_no_servald_processes
|
||||
# BCDE & DEFG form squares, ABC & FGH form triangles
|
||||
foreach_instance +A +B +C +D +E +F +G +H create_single_identity
|
||||
foreach_instance +A +B +C add_local_interface 1
|
||||
foreach_instance +B +D add_local_interface 2
|
||||
foreach_instance +C +E add_local_interface 3
|
||||
foreach_instance +D +E add_local_interface 4
|
||||
foreach_instance +D +F add_local_interface 5
|
||||
foreach_instance +E +G add_local_interface 6
|
||||
foreach_instance +F +G +H add_local_interface 7
|
||||
foreach_instance +A +B +C add_servald_interface 1
|
||||
foreach_instance +B +D add_servald_interface 2
|
||||
foreach_instance +C +E add_servald_interface 3
|
||||
foreach_instance +D +E add_servald_interface 4
|
||||
foreach_instance +D +F add_servald_interface 5
|
||||
foreach_instance +E +G add_servald_interface 6
|
||||
foreach_instance +F +G +H add_servald_interface 7
|
||||
foreach_instance +A +B +C +D +E +F +G +H \
|
||||
executeOk_servald config \
|
||||
set mdp.iftype.wifi.reachable_timeout_ms 60000
|
||||
|
Loading…
x
Reference in New Issue
Block a user