X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Fblackbox%2Fcommon%2Fcontainers.h;h=8a54e6a32a546aa6afb2bf92a0b36102670e1ee1;hb=1c04402a6d2f3a85d0cb4a5b4a6db5b1f3a79511;hp=66b6c51dfedf55c8cfdb220cf818e53e850daf44;hpb=de40dd736a1b048e5e0f856184f832fa4db184d3;p=meshlink diff --git a/test/blackbox/common/containers.h b/test/blackbox/common/containers.h index 66b6c51d..8a54e6a3 100644 --- a/test/blackbox/common/containers.h +++ b/test/blackbox/common/containers.h @@ -23,9 +23,21 @@ #include -#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