bool aiccu_os_setup(struct TIC_Tunnel *hTunnel)
{
+ char buffer[1024];
+
if (hTunnel->uses_tundev == 0)
{
aiccu_exec(
g_aiccu->ipv6_interface);
}
+ if (g_aiccu->setupscript)
+ {
+ setenv("ACTION", "up", 1);
+ setenv("TUNNEL_TYPE", hTunnel->sType, 1);
+ setenv("INTERFACE", g_aiccu->ipv6_interface, 1);
+ setenv("REMOTE_ADDRESS", hTunnel->sIPv6_POP, 1);
+
+ snprintf(buffer, sizeof(buffer), "%s/%u",
+ hTunnel->sIPv6_Local, hTunnel->nIPv6_PrefixLength);
+ setenv("LOCAL_ADDRESS", buffer, 1);
+ setenv("LINK_LOCAL_ADDRESS", hTunnel->sIPv6_LinkLocal, 1);
+
+ snprintf(buffer, sizeof(buffer), "%u", hTunnel->nMTU);
+ setenv("MTU", buffer, 1);
+
+ aiccu_exec("%s", g_aiccu->setupscript);
+ }
+
return true;
}
"ip tunnel del %s",
g_aiccu->ipv6_interface);
}
+
+ {
+ setenv("ACTION", "down", 1);
+ setenv("INTERFACE", g_aiccu->ipv6_interface, 1);
+
+ aiccu_exec("%s", g_aiccu->setupscript);
+ }
}