Currently when you do:
service integrated-vtysh-config
wr
<restart all of quagga somewhere along the way>
dell-s6000-02# conf t
dell-s6000-02(config)# no service integrated-vtysh-config
dell-s6000-02(config)# end
dell-s6000-02# wr mem
Building Configuration...
Can't save to configuration file, using vtysh.
Can't save to configuration file, using vtysh.
[OK]
The second write fails because of vty.c vty_read_config(L2396) on
initialization it checks to see:
if ( strstr(config_default_dir, "vtysh") == NULL)
{
ret = stat (integrate_default, &conf_stat);
if (ret >= 0)
return;
}
Which causes the line a bit further down(L2431):
host_config_set (fullpath);
to never be executed, because the Quagga.conf file still exists. Thus
host.config for each daemon is never set and we cannot write to the
appropriate config file after a 'no service inte..'
Suggested fix:
in vty_read_config *always* call host_config_set, and in
vtysh_write_memory_cmd add an else statement for(vtysh.c, L1899):
/* If integrated Quagga.conf explicitely set. */
if (vtysh_writeconfig_integrated)
return write_config_integrated();
else
write_config_integrated_delete(); // Probably just rename the file to
a backup file name
Thoughts?
donald
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev