]> git.meshlink.io Git - meshlink/blobdiff - test/netns_utils.c
Add extra metering scenarios.
[meshlink] / test / netns_utils.c
index 70fa3130df7b68672e03505b023be5d249999931..58c01ff5f60d9d24d1fd5aa8fb143c3f530fe914 100644 (file)
@@ -181,6 +181,20 @@ peer_config_t *setup_relay_peer_nut_indirect(const char *prefix) {
        return peers;
 }
 
+/// Make all nodes only be able to communicate via TCP
+void set_peers_tcponly(peer_config_t *peers, int npeers) {
+       for (int i = 0; i < npeers; i++) {
+               char *command = NULL;
+               assert(asprintf(&command,
+                                               "/bin/ip netns exec %1$s iptables -A INPUT -p udp -j DROP;"
+                                               "/bin/ip netns exec %1$s iptables -A OUTPUT -p udp -j DROP;",
+                                               peers[i].netns_name));
+               assert(command);
+               assert(system(command) == 0);
+               free(command);
+       }
+}
+
 void close_relay_peer_nut(peer_config_t *peers) {
        close_peers(peers, 3);
 }