]> git.meshlink.io Git - meshlink/blobdiff - test/blackbox/common/containers.h
Update the blackbox test infrastructure.
[meshlink] / test / blackbox / common / containers.h
index 66b6c51dfedf55c8cfdb220cf818e53e850daf44..8a54e6a32a546aa6afb2bf92a0b36102670e1ee1 100644 (file)
 
 #include <lxc/lxccontainer.h>
 
-#define DAEMON_ARGV_LEN 200
+#define DAEMON_ARGV_LEN 2000
 #define CONTAINER_SHUTDOWN_TIMEOUT 5
 
+#define DHCP_RANGE "172.16.0.2,172.16.255.254,12h"
+#define PUB_INTERFACE "eth0"
+#define PRIV_INTERFACE "eth1"
+#define LISTEN_ADDRESS "172.16.0.1"
+#define NET_MASK "255.255.255.0"
+#define SUBNET_MASK "172.16.0.0/24"
+
+#define FULLCONE_NAT 1
+#define ADDRESS_RESTRICTED_NAT 2
+#define PORT_RESTRICTED_NAT 3
+#define SYMMERTIC_NAT 4
+
 extern char *lxc_path;
 
 extern struct lxc_container *find_container(const char *name);
@@ -47,6 +59,25 @@ extern char *get_container_ip(const char *node_name);
 extern void install_in_container(const char *node, const char *app);
 extern void unblock_node_ip(const char *node);
 extern void block_node_ip(const char *node);
-void accept_port_rule(const char *node, const char *chain, const char *protocol, int port);
+extern void accept_port_rule(const char *node, const char *chain, const char *protocol, int port);
+extern void nat_create(const char *nat_name, const char *nat_bridge, int nat_type);
+extern void container_switch_bridge(const char *container_name, char *lxc_conf_path, const char *current_bridge, const char *new_bridge);
+extern void bridge_add(const char *bridge_name);
+extern void bridge_delete(const char *bridge_name);
+extern void bridge_add_interface(const char *bridge_name, const char *interface_name);
+
+extern void nat_destroy(const char *nat_name);
+extern char *run_in_container_ex(const char *cmd, struct lxc_container *container, bool daemonize);
+extern char *execute_in_container(const char *cmd, const char *container_name, bool daemonize);
+extern char *block_icmp(const char *container_name);
+extern char *unblock_icmp(const char *container_name);
+extern char *change_container_mtu(const char *container_name, const char *interface_name, int mtu);
+extern char *flush_conntrack(const char *container_name);
+
+extern char **get_container_interface_ips(const char *container_name, const char *interface_name);
+extern void flush_nat_rules(const char *container_name, const char *chain);
+extern void add_full_cone_nat_rules(const char *container_name, const char *pub_interface, const char *priv_interface_listen_address);
+extern void add_port_rest_nat_rules(const char *container_name, const char *pub_interface);
+extern char *container_wait_ip_ex(const char *container_name);
 
 #endif // CONTAINERS_H