dist, dev: Fixed the packet ordering in etherswitch
[gem5.git] / util / cpt_upgraders / etherswitch.py
1 def upgrader(cpt):
2 for sec in cpt.sections():
3 if sec == "system":
4 options = cpt.items(sec)
5 for it in options:
6 opt_split = it[0].split('.')
7 new_sec_name = opt_split[1]
8 old_opt_name = opt_split[len(opt_split) - 1]
9 if "outputFifo" in new_sec_name:
10 new_sec_name = new_sec_name.rstrip("outputFifo")
11 new_sec_name += ".outputFifo"
12 new_sec_name = "system.system.%s" %(new_sec_name)
13 if not cpt.has_section(new_sec_name):
14 cpt.add_section(new_sec_name)
15 if old_opt_name == "size":
16 cpt.set(new_sec_name, "_size", it[1])
17 elif old_opt_name == "packets":
18 cpt.set(new_sec_name, "fifosize", it[1])
19 else:
20 cpt.set(new_sec_name, old_opt_name, it[1])
21 cpt.remove_option(sec, it[0])