aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOle Mathias Heggem <olemathias.aa.heggem@gmail.com>2025-03-28 14:11:02 +0100
committerOle Mathias Heggem <olemathias.aa.heggem@gmail.com>2025-03-28 14:11:02 +0100
commitf1accc54423a1f221e947152177687d890653989 (patch)
tree54676e4d36ba3f26a8adbe95dc538c2dabd8faec
parentd2c52007cab72fb5fe73fb978821c4b18c1d24b0 (diff)
tg25 planning v0.1tg25-planning
-rw-r--r--planning/patchlist.txt135
-rw-r--r--planning/patchlist.txt.distrosort135
-rw-r--r--planning/planning.cpp107
3 files changed, 141 insertions, 236 deletions
diff --git a/planning/patchlist.txt b/planning/patchlist.txt
index 916e88e..edf1a19 100644
--- a/planning/patchlist.txt
+++ b/planning/patchlist.txt
@@ -1,85 +1,50 @@
-e1-1 d2.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e1-2 d2.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e1-3 d1.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e1-4 d1.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e3-1 d2.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e3-2 d2.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e3-3 d1.floor mge-0/0/24 mge-2/0/24 # multirate
-e3-4 d1.floor mge-0/0/25 mge-2/0/25 # multirate
-e5-1 d2.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e5-2 d2.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e5-3 d1.floor mge-0/0/26 mge-2/0/26 # multirate
-e5-4 d1.floor mge-0/0/27 mge-2/0/27 # multirate
-e7-1 d2.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e7-2 d2.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e7-3 d1.floor mge-0/0/28 mge-2/0/28 # multirate
-e7-4 d1.floor mge-0/0/29 mge-2/0/29 # multirate
-e9-1 d2.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e9-2 d2.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e9-3 d1.floor mge-0/0/30 mge-2/0/30 # multirate
-e9-4 d1.floor mge-0/0/31 mge-2/0/31 # multirate
-e11-1 d4.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e13-1 d4.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e15-1 d4.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e17-1 d4.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e17-2 d4.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e17-3 d3.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e17-4 d3.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e19-1 d4.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e19-2 d4.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e19-3 d3.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e19-4 d3.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e21-1 d4.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e21-2 d4.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e21-3 d3.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e21-4 d3.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e23-1 d4.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e23-2 d4.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e23-3 d3.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e23-4 d3.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e25-1 d4.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e25-2 d4.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e25-3 d3.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e25-4 d3.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e27-1 d4.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e27-2 d4.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e27-3 d3.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e27-4 d3.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e29-1 d4.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
-e29-2 d4.floor ge-0/0/16 ge-1/0/16 ge-2/0/16
-e29-3 d3.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e29-4 d3.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e31-1 d4.floor ge-0/0/17 ge-1/0/17 ge-2/0/17
-e31-2 d4.floor ge-0/0/18 ge-1/0/18 ge-2/0/18
-e31-3 d3.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e31-4 d3.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
-e33-1 d6.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e33-2 d6.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e33-3 d5.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e33-4 d5.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e35-1 d6.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e35-2 d6.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e35-3 d5.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e35-4 d5.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e37-1 d6.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e37-2 d6.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e37-3 d5.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e37-4 d5.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e39-1 d6.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e39-2 d6.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e39-3 d5.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e39-4 d5.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e41-1 d6.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e41-2 d6.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e41-3 d5.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e41-4 d5.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e43-1 d6.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e43-2 d6.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e43-3 d5.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e43-4 d5.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e45-1 d6.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e45-2 d6.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e45-3 d5.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e45-4 d5.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e47-3 d5.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e47-4 d5.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
+e1-1 d1-floor Ethernet1 Ethernet25 Ethernet49
+e1-2 d1-floor Ethernet2 Ethernet26 Ethernet50
+e3-1 d1-floor Ethernet3 Ethernet27 Ethernet51
+e3-2 d1-floor Ethernet4 Ethernet28 Ethernet52
+e5-1 d1-floor Ethernet5 Ethernet29 Ethernet53
+e5-2 d1-floor Ethernet6 Ethernet30 Ethernet54
+e7-1 d1-floor Ethernet7 Ethernet31 Ethernet55
+e7-2 d1-floor Ethernet8 Ethernet32 Ethernet56
+e9-1 d1-floor Ethernet9 Ethernet33 Ethernet57
+e9-2 d1-floor Ethernet10 Ethernet34 Ethernet58
+e11-1 d2-floor Ethernet1 Ethernet25 Ethernet49
+e11-2 d2-floor Ethernet2 Ethernet26 Ethernet50
+e13-1 d2-floor Ethernet3 Ethernet27 Ethernet51
+e13-2 d2-floor Ethernet4 Ethernet28 Ethernet52
+e15-1 d2-floor Ethernet5 Ethernet29 Ethernet53
+e15-2 d2-floor Ethernet6 Ethernet30 Ethernet54
+e17-1 d2-floor Ethernet7 Ethernet31 Ethernet55
+e17-2 d2-floor Ethernet8 Ethernet32 Ethernet56
+e19-1 d2-floor Ethernet9 Ethernet33 Ethernet57
+e19-2 d2-floor Ethernet10 Ethernet34 Ethernet58
+e21-1 d2-floor Ethernet11 Ethernet35 Ethernet59
+e21-2 d2-floor Ethernet12 Ethernet36 Ethernet60
+e23-1 d2-floor Ethernet13 Ethernet37 Ethernet61
+e23-2 d2-floor Ethernet14 Ethernet38 Ethernet62
+e25-1 d2-floor Ethernet15 Ethernet39 Ethernet63
+e25-2 d2-floor Ethernet16 Ethernet40 Ethernet64
+e27-3 d4-floor Ethernet1 Ethernet25 Ethernet49
+e27-4 d4-floor Ethernet2 Ethernet26 Ethernet50
+e27-1 d3-floor Ethernet1 Ethernet25 Ethernet49
+e27-2 d3-floor Ethernet2 Ethernet26 Ethernet50
+e29-3 d4-floor Ethernet3 Ethernet27 Ethernet51
+e29-4 d4-floor Ethernet4 Ethernet28 Ethernet52
+e29-1 d3-floor Ethernet3 Ethernet27 Ethernet51
+e29-2 d3-floor Ethernet4 Ethernet28 Ethernet52
+e31-3 d4-floor Ethernet5 Ethernet29 Ethernet53
+e31-4 d4-floor Ethernet6 Ethernet30 Ethernet54
+e31-1 d3-floor Ethernet5 Ethernet29 Ethernet53
+e31-2 d3-floor Ethernet6 Ethernet30 Ethernet54
+e33-3 d4-floor Ethernet7 Ethernet31 Ethernet55
+e33-4 d4-floor Ethernet8 Ethernet32 Ethernet56
+e33-1 d3-floor Ethernet7 Ethernet31 Ethernet55
+e33-2 d3-floor Ethernet8 Ethernet32 Ethernet56
+e35-1 d3-floor Ethernet9 Ethernet33 Ethernet57
+e35-2 d3-floor Ethernet10 Ethernet34 Ethernet58
+e37-1 d3-floor Ethernet11 Ethernet35 Ethernet59
+e37-2 d3-floor Ethernet12 Ethernet36 Ethernet60
+e39-1 d3-floor Ethernet13 Ethernet37 Ethernet61
+e39-2 d3-floor Ethernet14 Ethernet38 Ethernet62
+e41-1 d3-floor Ethernet15 Ethernet39 Ethernet63
+e41-2 d3-floor Ethernet16 Ethernet40 Ethernet64
diff --git a/planning/patchlist.txt.distrosort b/planning/patchlist.txt.distrosort
index d3f1ddf..d48fc76 100644
--- a/planning/patchlist.txt.distrosort
+++ b/planning/patchlist.txt.distrosort
@@ -1,85 +1,50 @@
-e1-3 d1.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e1-4 d1.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e3-3 d1.floor mge-0/0/24 mge-2/0/24 # multirate
-e3-4 d1.floor mge-0/0/25 mge-2/0/25 # multirate
-e5-3 d1.floor mge-0/0/26 mge-2/0/26 # multirate
-e5-4 d1.floor mge-0/0/27 mge-2/0/27 # multirate
-e7-3 d1.floor mge-0/0/28 mge-2/0/28 # multirate
-e7-4 d1.floor mge-0/0/29 mge-2/0/29 # multirate
-e9-3 d1.floor mge-0/0/30 mge-2/0/30 # multirate
-e9-4 d1.floor mge-0/0/31 mge-2/0/31 # multirate
-e1-1 d2.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e1-2 d2.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e3-1 d2.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e3-2 d2.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e5-1 d2.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e5-2 d2.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e7-1 d2.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e7-2 d2.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e9-1 d2.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e9-2 d2.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e17-3 d3.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e17-4 d3.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e19-3 d3.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e19-4 d3.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e21-3 d3.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e21-4 d3.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e23-3 d3.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e23-4 d3.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e25-3 d3.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e25-4 d3.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e27-3 d3.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e27-4 d3.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e29-3 d3.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e29-4 d3.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e31-3 d3.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e31-4 d3.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
-e11-1 d4.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e13-1 d4.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e15-1 d4.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e17-1 d4.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e17-2 d4.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e19-1 d4.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e19-2 d4.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e21-1 d4.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e21-2 d4.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e23-1 d4.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e23-2 d4.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e25-1 d4.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e25-2 d4.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e27-1 d4.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e27-2 d4.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e29-1 d4.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
-e29-2 d4.floor ge-0/0/16 ge-1/0/16 ge-2/0/16
-e31-1 d4.floor ge-0/0/17 ge-1/0/17 ge-2/0/17
-e31-2 d4.floor ge-0/0/18 ge-1/0/18 ge-2/0/18
-e33-3 d5.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e33-4 d5.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e35-3 d5.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e35-4 d5.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e37-3 d5.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e37-4 d5.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e39-3 d5.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e39-4 d5.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e41-3 d5.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e41-4 d5.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e43-3 d5.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e43-4 d5.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e45-3 d5.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e45-4 d5.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
-e47-3 d5.floor ge-0/0/14 ge-1/0/14 ge-2/0/14
-e47-4 d5.floor ge-0/0/15 ge-1/0/15 ge-2/0/15
-e33-1 d6.floor ge-0/0/0 ge-1/0/0 ge-2/0/0
-e33-2 d6.floor ge-0/0/1 ge-1/0/1 ge-2/0/1
-e35-1 d6.floor ge-0/0/2 ge-1/0/2 ge-2/0/2
-e35-2 d6.floor ge-0/0/3 ge-1/0/3 ge-2/0/3
-e37-1 d6.floor ge-0/0/4 ge-1/0/4 ge-2/0/4
-e37-2 d6.floor ge-0/0/5 ge-1/0/5 ge-2/0/5
-e39-1 d6.floor ge-0/0/6 ge-1/0/6 ge-2/0/6
-e39-2 d6.floor ge-0/0/7 ge-1/0/7 ge-2/0/7
-e41-1 d6.floor ge-0/0/8 ge-1/0/8 ge-2/0/8
-e41-2 d6.floor ge-0/0/9 ge-1/0/9 ge-2/0/9
-e43-1 d6.floor ge-0/0/10 ge-1/0/10 ge-2/0/10
-e43-2 d6.floor ge-0/0/11 ge-1/0/11 ge-2/0/11
-e45-1 d6.floor ge-0/0/12 ge-1/0/12 ge-2/0/12
-e45-2 d6.floor ge-0/0/13 ge-1/0/13 ge-2/0/13
+e1-1 d1-floor Ethernet1 Ethernet25 Ethernet49
+e1-2 d1-floor Ethernet2 Ethernet26 Ethernet50
+e3-1 d1-floor Ethernet3 Ethernet27 Ethernet51
+e3-2 d1-floor Ethernet4 Ethernet28 Ethernet52
+e5-1 d1-floor Ethernet5 Ethernet29 Ethernet53
+e5-2 d1-floor Ethernet6 Ethernet30 Ethernet54
+e7-1 d1-floor Ethernet7 Ethernet31 Ethernet55
+e7-2 d1-floor Ethernet8 Ethernet32 Ethernet56
+e9-1 d1-floor Ethernet9 Ethernet33 Ethernet57
+e9-2 d1-floor Ethernet10 Ethernet34 Ethernet58
+e11-1 d2-floor Ethernet1 Ethernet25 Ethernet49
+e11-2 d2-floor Ethernet2 Ethernet26 Ethernet50
+e13-1 d2-floor Ethernet3 Ethernet27 Ethernet51
+e13-2 d2-floor Ethernet4 Ethernet28 Ethernet52
+e15-1 d2-floor Ethernet5 Ethernet29 Ethernet53
+e15-2 d2-floor Ethernet6 Ethernet30 Ethernet54
+e17-1 d2-floor Ethernet7 Ethernet31 Ethernet55
+e17-2 d2-floor Ethernet8 Ethernet32 Ethernet56
+e19-1 d2-floor Ethernet9 Ethernet33 Ethernet57
+e19-2 d2-floor Ethernet10 Ethernet34 Ethernet58
+e21-1 d2-floor Ethernet11 Ethernet35 Ethernet59
+e21-2 d2-floor Ethernet12 Ethernet36 Ethernet60
+e23-1 d2-floor Ethernet13 Ethernet37 Ethernet61
+e23-2 d2-floor Ethernet14 Ethernet38 Ethernet62
+e25-1 d2-floor Ethernet15 Ethernet39 Ethernet63
+e25-2 d2-floor Ethernet16 Ethernet40 Ethernet64
+e27-1 d3-floor Ethernet1 Ethernet25 Ethernet49
+e27-2 d3-floor Ethernet2 Ethernet26 Ethernet50
+e29-1 d3-floor Ethernet3 Ethernet27 Ethernet51
+e29-2 d3-floor Ethernet4 Ethernet28 Ethernet52
+e31-1 d3-floor Ethernet5 Ethernet29 Ethernet53
+e31-2 d3-floor Ethernet6 Ethernet30 Ethernet54
+e33-1 d3-floor Ethernet7 Ethernet31 Ethernet55
+e33-2 d3-floor Ethernet8 Ethernet32 Ethernet56
+e35-1 d3-floor Ethernet9 Ethernet33 Ethernet57
+e35-2 d3-floor Ethernet10 Ethernet34 Ethernet58
+e37-1 d3-floor Ethernet11 Ethernet35 Ethernet59
+e37-2 d3-floor Ethernet12 Ethernet36 Ethernet60
+e39-1 d3-floor Ethernet13 Ethernet37 Ethernet61
+e39-2 d3-floor Ethernet14 Ethernet38 Ethernet62
+e41-1 d3-floor Ethernet15 Ethernet39 Ethernet63
+e41-2 d3-floor Ethernet16 Ethernet40 Ethernet64
+e27-3 d4-floor Ethernet1 Ethernet25 Ethernet49
+e27-4 d4-floor Ethernet2 Ethernet26 Ethernet50
+e29-3 d4-floor Ethernet3 Ethernet27 Ethernet51
+e29-4 d4-floor Ethernet4 Ethernet28 Ethernet52
+e31-3 d4-floor Ethernet5 Ethernet29 Ethernet53
+e31-4 d4-floor Ethernet6 Ethernet30 Ethernet54
+e33-3 d4-floor Ethernet7 Ethernet31 Ethernet55
+e33-4 d4-floor Ethernet8 Ethernet32 Ethernet56
diff --git a/planning/planning.cpp b/planning/planning.cpp
index faa614c..4d37e20 100644
--- a/planning/planning.cpp
+++ b/planning/planning.cpp
@@ -34,10 +34,10 @@
#include <string>
#include <queue>
-#define NUM_DISTRO 6
-#define NUM_ROWS 41
+#define NUM_DISTRO 4
+#define NUM_ROWS 21
#define SWITCHES_PER_ROW 4
-#define PORTS_PER_DISTRO 31
+#define PORTS_PER_DISTRO 32
#define TRUNCATE_METRIC 1
#define EXTENSION_COST 70
@@ -158,9 +158,9 @@ struct VerticalGap {
// After row 20: 4.0m+0.1m slack = 1.7m cost
// After row 29: 3.6m+0.1m slack = 1.3m cost
vector<VerticalGap> vertical_gaps = {
- { 12, 23 },
- { 20, 17 },
- { 29, 13 },
+ { 5, 50 },
+ { 13, 50 },
+ { 29, 50 },
};
class Planner {
@@ -254,6 +254,7 @@ Inventory Planner::find_inventory(Switch from_where, int distro)
inv.num_10m = _INF;
}
+
// distro0-2 shouldn't cross the mid
//if ((distro_placements[distro] >= 0) == (from_where.num >= 2)) {
// inv.horiz_gap_crossings = 0;
@@ -271,7 +272,7 @@ Inventory Planner::find_inventory(Switch from_where, int distro)
//}
// Gap over the scene
- if ((abs(distro_placements[distro]) <= 12) == (from_where.row >= 13)) {
+ if ((abs(distro_placements[distro]) <= 14) == (from_where.row >= 14)) {
inv.vert_chasm_crossings = 1;
}
@@ -332,15 +333,16 @@ void Planner::logprintf(const char *fmt, ...)
string distro_name(unsigned distro)
{
char buf[16];
- sprintf(buf, "d%d.floor", distro+1);
+ sprintf(buf, "d%d-floor", distro+1);
return buf;
}
string port_name(unsigned distro, unsigned portnum)
{
char buf[16];
- int distros[] = { 0, 1, 2 }; // must equal the number of switches in distro-stack
- sprintf(buf, "ge-%u/0/%u", distros[portnum / 48], (portnum % 48));
+ //int distros[] = { 0, 1, 2 }; // must equal the number of switches in distro-stack
+ //sprintf(buf, "ge-%u/0/%u", distros[portnum / 48], (portnum % 48));
+ sprintf(buf, "Ethernet%u", (portnum + 1));
return buf;
}
@@ -349,53 +351,26 @@ void Planner::init_switches()
switches.clear();
for (unsigned i = 1; i <= NUM_ROWS; ++i) {
- // No seats here for TG23
- if (i >= 1 && i <= 8) {
- // switches.push_back(Switch(i,0));
- // switches.push_back(Switch(i,1));
- // switches.push_back(Switch(i,2));
- // switches.push_back(Switch(i,3));
- }
-
- if (i >= 8 && i <= 12) {
- switches.push_back(Switch(i, 0));
- switches.push_back(Switch(i, 1));
- switches.push_back(Switch(i, 2));
- switches.push_back(Switch(i, 3));
+ // row 1 to 10
+ if (i >= 1 && i <= 5) {
+ switches.push_back(Switch(i,0));
+ switches.push_back(Switch(i,1));
}
-
- // 1 1/2 rader motsatt av scenen.
- if (i >= 18 && i <= 20) {
- switches.push_back(Switch(i, 0));
- //switches.push_back(Switch(i, 1));
- //switches.push_back(Switch(i, 2));
- //switches.push_back(Switch(i, 3));
- }
-
- if (i >= 21 && i <= 28) {
+ // row 11 to 26
+ if (i >= 6 && i <= 13) {
switches.push_back(Switch(i, 0));
switches.push_back(Switch(i, 1));
- switches.push_back(Switch(i, 2));
- switches.push_back(Switch(i, 3));
}
-
- if (i >= 30 && i <= 36) {
- switches.push_back(Switch(i, 0));
- switches.push_back(Switch(i, 1));
- switches.push_back(Switch(i, 2));
- switches.push_back(Switch(i, 3));
- }
-
- // No seats here for TG23
- if (i >= 37 && i <= 41) {
- //switches.push_back(Switch(i,0));
- //switches.push_back(Switch(i,1));
- if (i == 37) {
- switches.push_back(Switch(i,2));
- switches.push_back(Switch(i,3));
- }
- }
-
+ // row 27 to 42 - upper
+ if (i >= 14 && i <= 17) {
+ switches.push_back(Switch(i, 2));
+ switches.push_back(Switch(i, 3));
+ }
+ // row 27 to 42 - lower
+ if (i >= 14 && i <= 21) {
+ switches.push_back(Switch(i, 0));
+ switches.push_back(Switch(i, 1));
+ }
}
}
@@ -469,7 +444,7 @@ void Planner::construct_graph(const vector<Switch> &switches, Graph *g)
strcpy(g->source_node.name, "source");
strcpy(g->sink_node.name, "sink");
for (unsigned i = 0; i < NUM_DISTRO; ++i) {
- sprintf(g->distro_nodes[i].name, "s%d.floor", i);
+ sprintf(g->distro_nodes[i].name, "s%d-floor", i);
}
for (unsigned i = 0; i < switches.size(); ++i) {
sprintf(g->switch_nodes[i].name, "switch%d", i);
@@ -569,7 +544,7 @@ void Planner::print_switch(const Graph &g, int i, int distro)
return;
}
if (distro == -1) {
- logprintf("[%u;22m- ", distro + 32);
+ logprintf(";22m- ", distro + 32);
#if TRUNCATE_METRIC
logprintf("(XXXXX) (XXXX)");
#else
@@ -577,9 +552,9 @@ void Planner::print_switch(const Graph &g, int i, int distro)
#endif
} else {
if(distro >= 6)
- logprintf("[%u;1m%u ", distro + 32 - 7, distro+1);
+ logprintf(";1m%u ", distro + 32 - 7, distro+1);
else
- logprintf("[%u;22m%u ", distro + 32, distro+1);
+ logprintf(";22m%u ", distro + 32, distro+1);
int this_distance = find_distance(switches[i], distro);
@@ -636,15 +611,15 @@ int Planner::do_work(int distro_placements[NUM_DISTRO])
for (int d = 0; d < NUM_DISTRO; ++d) {
if (int(row) == distro_placements[d]) {
if(d >= 6)
- sprintf(distro_marker_left, "[%u;1m*", d + 32 - 7);
+ sprintf(distro_marker_left, ";1m*", d + 32 - 7);
else
- sprintf(distro_marker_left, "[%u;22m*", d + 32);
+ sprintf(distro_marker_left, ";22m*", d + 32);
}
if (int(row) == -distro_placements[d]) {
if(d >= 6)
- sprintf(distro_marker_right, "[%u;22m*", d + 32 - 7);
+ sprintf(distro_marker_right, ";22m*", d + 32 - 7);
else
- sprintf(distro_marker_right, "[%u;1m*", d + 32);
+ sprintf(distro_marker_right, ";1m*", d + 32);
}
}
@@ -660,7 +635,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO])
}
// Print row header.
- logprintf("%2u (%2u-%2u) ", row, row * 2 - 1, row * 2 + 0);
+ logprintf("%2u (%2u-%2u) ", row, row * 2 - 1, row * 2 + 0);
for (unsigned num = 0; num < SWITCHES_PER_ROW; ++num) {
const auto distro_it = switches_to_distros.find(switch_indexes[num]);
@@ -685,7 +660,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO])
}
}
}
- logprintf("[%u;22m\n", 37);
+ logprintf(";22m\n", 37);
#if OUTPUT_FILES
FILE *patchlist = fopen("patchlist.txt", "w");
@@ -710,8 +685,8 @@ int Planner::do_work(int distro_placements[NUM_DISTRO])
switches[i].row * 2 - 1, switches[i].num + 1,
distro_name(distro).c_str(),
port_name(distro, port_num).c_str(),
- port_name(distro, port_num + 48).c_str(),
- port_name(distro, port_num + 96).c_str()
+ port_name(distro, port_num + 24).c_str(),
+ port_name(distro, port_num + 48).c_str()
// if we have 4 switches in a distro-stack
//port_name(distro, port_num + 144).c_str()
);
@@ -761,7 +736,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO])
for (int i = 0; i < NUM_DISTRO; ++i) {
Edge *e = g.source_node.edges[i];
- logprintf("Remaining ports on d%d.floor: %d\n", i+1, e->capacity - e->flow);
+ logprintf("Remaining ports on d%d-floor: %d\n", i+1, e->capacity - e->flow);
}
return total_cost;
}