I ran into the same problem, it turns out you don't have access to the ipv6 no errorresponse until v11. So i wrote my little app to do what it needs to do with the wide IP's and pools, etc. Then later the application SSH's to the gtm and uses tmsh::modify... etc, etc, to get the state of the wide IP and if need be set it too enabled.
It is definitely a work around but until we go to v11, the coding ends up looking something like:
using Tamir.SharpSsh;
.... program..
method examples.....
public static Dictionary GetIPV6state(string strGTM, string strUsername, string strPassword)
{
Dictionary dictReturn = new Dictionary();
Regex rgxWideIP = new Regex(@".*gtm\swideip\s(?.*?)\s{");
Regex rgxIPV6 = new Regex(@"^.*ipv6-no-error-response\s(?.*)");
string strOutput = sshGTMCommand(strGTM, strUsername, strPassword,"list ipv6-no-error-response", false);
string[] strOutputArray = strOutput.Split(Environment.NewLine.ToString().ToCharArray());
List lstResults = new List();
foreach (string strTemphold in strOutputArray)
{
if (strTemphold != "")
{
lstResults.Add(strTemphold);
}
}
//---(less 17%)---gtm wideip es.fxse.ml.com {
//---(less 17%)--- enabled
//---(less 17%)--- ipv6-no-error-response disabled
//---(less 18%)---}
strOutputArray = lstResults.ToArray();
for (int i = 0; i < strOutputArray.Length; i++)
{
Match mtWideIP = rgxWideIP.Match(strOutputArray[i]);
if (mtWideIP.Success)
{
string strWIP = mtWideIP.Groups["wideIP"].Value;
i = i + 2;
Match mtIPV6 = rgxIPV6.Match(strOutputArray[i]);
if(mtIPV6.Success)
{
dictReturn.Add(strWIP, mtIPV6.Groups["IPV6"].Value);
}
else
{
dictReturn.Add(strWIP, "Error Parsing Value");
}
}
}
return dictReturn;
}
public static string sshGTMCommand(string strGTM, string userName, string passWord, string GTMCmd, bool debugMode)
{
// connects over SSH to a NetScaler and runs a single SSH command
string output = "";
try
{
SshShell ssh = new SshShell(strGTM, userName, passWord);
ssh.Connect();
//ssh.ExpectPattern = "";
ssh.RemoveTerminalEmulationCharacters = true;
ssh.WriteLine(@"tmsh");
ssh.WriteLine(Environment.NewLine);
ssh.WriteLine(@"gtm wideip");
ssh.WriteLine(Environment.NewLine);
ssh.WriteLine(GTMCmd);
ssh.WriteLine(Environment.NewLine);
string strOutput = ssh.Expect();
while (strOutput.Substring(strOutput.Length -5) != "(END)")
{
ssh.WriteLine(Environment.NewLine);
strOutput = strOutput + ssh.Expect();
}
ssh.Close();
return strOutput;
}
catch (Exception e)
{
Console.Write("failure connecting to " + strGTM + ". " + e.Message);
}
return output;
}
}