diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/cpt_upgraders/etherswitch.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/util/cpt_upgraders/etherswitch.py b/util/cpt_upgraders/etherswitch.py new file mode 100644 index 000000000..e4094f97d --- /dev/null +++ b/util/cpt_upgraders/etherswitch.py @@ -0,0 +1,21 @@ +def upgrader(cpt): + for sec in cpt.sections(): + if sec == "system": + options = cpt.items(sec) + for it in options: + opt_split = it[0].split('.') + new_sec_name = opt_split[1] + old_opt_name = opt_split[len(opt_split) - 1] + if "outputFifo" in new_sec_name: + new_sec_name = new_sec_name.rstrip("outputFifo") + new_sec_name += ".outputFifo" + new_sec_name = "system.system.%s" %(new_sec_name) + if not cpt.has_section(new_sec_name): + cpt.add_section(new_sec_name) + if old_opt_name == "size": + cpt.set(new_sec_name, "_size", it[1]) + elif old_opt_name == "packets": + cpt.set(new_sec_name, "fifosize", it[1]) + else: + cpt.set(new_sec_name, old_opt_name, it[1]) + cpt.remove_option(sec, it[0]) |