X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Fblackbox%2Fcommon%2Fcontainers.h;h=c807bbfff09ed497f29dea33e688884a09f4fc9d;hb=1d7554c7b8c632adf86492be9dc7afecb49bca5d;hp=66b6c51dfedf55c8cfdb220cf818e53e850daf44;hpb=de40dd736a1b048e5e0f856184f832fa4db184d3;p=meshlink diff --git a/test/blackbox/common/containers.h b/test/blackbox/common/containers.h index 66b6c51d..c807bbff 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); @@ -37,6 +49,7 @@ extern void setup_containers(void **state); extern void destroy_containers(void); extern void restart_all_containers(void); extern char *invite_in_container(const char *inviter, const char *invitee); +extern char *submesh_invite_in_container(const char *inviter, const char *invitee, const char *submesh); extern void node_sim_in_container(const char *node, const char *device_class, const char *invite_url); extern void node_sim_in_container_event(const char *node, const char *device_class, const char *invite_url, const char *clientId, const char *import); @@ -47,6 +60,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