Fixed a defect in GUI details fly-out (it would not appear)
Adjusted L&F of the port labels Suppressed using buffer-id in packet-out messages; we now always send data; cbench is much more steady now and I see no 0s!!!!
Showing
4 changed files
with
32 additions
and
32 deletions
... | @@ -60,7 +60,9 @@ public final class DefaultOpenFlowPacketContext implements OpenFlowPacketContext | ... | @@ -60,7 +60,9 @@ public final class DefaultOpenFlowPacketContext implements OpenFlowPacketContext |
60 | OFAction act = buildOutput(outPort.getPortNumber()); | 60 | OFAction act = buildOutput(outPort.getPortNumber()); |
61 | pktout = builder.setXid(pktin.getXid()) | 61 | pktout = builder.setXid(pktin.getXid()) |
62 | .setInPort(inport()) | 62 | .setInPort(inport()) |
63 | - .setBufferId(pktin.getBufferId()) | 63 | + .setBufferId(OFBufferId.NO_BUFFER) |
64 | + .setData(pktin.getData()) | ||
65 | +// .setBufferId(pktin.getBufferId()) | ||
64 | .setActions(Collections.singletonList(act)) | 66 | .setActions(Collections.singletonList(act)) |
65 | .build(); | 67 | .build(); |
66 | } | 68 | } | ... | ... |
tools/test/topos/sol.py
100644 → 100755
File mode changed
... | @@ -359,7 +359,7 @@ | ... | @@ -359,7 +359,7 @@ |
359 | ix = Math.random() * 0.6 * nw + 0.2 * nw, | 359 | ix = Math.random() * 0.6 * nw + 0.2 * nw, |
360 | iy = ypc * nh, | 360 | iy = ypc * nh, |
361 | node = { | 361 | node = { |
362 | - id: safeId(n.id), | 362 | + id: n.id, |
363 | labels: n.labels, | 363 | labels: n.labels, |
364 | class: 'device', | 364 | class: 'device', |
365 | icon: 'device', | 365 | icon: 'device', |
... | @@ -381,7 +381,7 @@ | ... | @@ -381,7 +381,7 @@ |
381 | ix = Math.random() * 0.6 * nw + 0.2 * nw, | 381 | ix = Math.random() * 0.6 * nw + 0.2 * nw, |
382 | iy = ypc * nh, | 382 | iy = ypc * nh, |
383 | node = { | 383 | node = { |
384 | - id: safeId(n.id), | 384 | + id: n.id, |
385 | labels: n.labels, | 385 | labels: n.labels, |
386 | class: 'host', | 386 | class: 'host', |
387 | icon: 'host', | 387 | icon: 'host', |
... | @@ -584,38 +584,40 @@ | ... | @@ -584,38 +584,40 @@ |
584 | 584 | ||
585 | network.link.filter('.infra').each(function(d, i) { | 585 | network.link.filter('.infra').each(function(d, i) { |
586 | network.linkSrcPort.append('rect').attr({ | 586 | network.linkSrcPort.append('rect').attr({ |
587 | - id: 'srcPort-' + d.id, | 587 | + id: 'srcPort-' + safeId(d.id), |
588 | class: 'port', | 588 | class: 'port', |
589 | width: pw, | 589 | width: pw, |
590 | height: ph, | 590 | height: ph, |
591 | - x: i * 20, | 591 | + Xx: i * 20, |
592 | - y: 0 | 592 | + Xy: 0, |
593 | - }) | 593 | + rx: 4, |
594 | - .style('visibility', portVis); | 594 | + ry: 4 |
595 | + }).style('visibility', portVis); | ||
595 | 596 | ||
596 | network.linkTgtPort.append('rect').attr({ | 597 | network.linkTgtPort.append('rect').attr({ |
597 | - id: 'tgtPort-' + d.id, | 598 | + id: 'tgtPort-' + safeId(d.id), |
598 | class: 'port', | 599 | class: 'port', |
599 | width: pw, | 600 | width: pw, |
600 | height: ph, | 601 | height: ph, |
601 | - x: i * 20, | 602 | + Xx: i * 20, |
602 | - y: 20 | 603 | + Xy: 20, |
603 | - }) | 604 | + rx: 4, |
604 | - .style('visibility', portVis); | 605 | + ry: 4 |
606 | + }).style('visibility', portVis); | ||
605 | 607 | ||
606 | network.linkSrcPort.append('text').attr({ | 608 | network.linkSrcPort.append('text').attr({ |
607 | - id: 'srcText-' + d.id, | 609 | + id: 'srcText-' + safeId(d.id), |
608 | class: 'portText', | 610 | class: 'portText', |
609 | - x: i * 20, | 611 | + Xx: i * 20, |
610 | - y:0 | 612 | + Xy: 0 |
611 | }).text(d.srcPort) | 613 | }).text(d.srcPort) |
612 | .style('visibility', portVis); | 614 | .style('visibility', portVis); |
613 | 615 | ||
614 | network.linkTgtPort.append('text').attr({ | 616 | network.linkTgtPort.append('text').attr({ |
615 | - id: 'tgtText-' + d.id, | 617 | + id: 'tgtText-' + safeId(d.id), |
616 | class: 'portText', | 618 | class: 'portText', |
617 | - x: i * 20, | 619 | + Xx: i * 20, |
618 | - y:20 | 620 | + Xy: 20 |
619 | }).text(d.tgtPort) | 621 | }).text(d.tgtPort) |
620 | .style('visibility', portVis); | 622 | .style('visibility', portVis); |
621 | }); | 623 | }); |
... | @@ -985,26 +987,27 @@ | ... | @@ -985,26 +987,27 @@ |
985 | } | 987 | } |
986 | 988 | ||
987 | // adjust the endpoints of the link's line to match rectangles | 989 | // adjust the endpoints of the link's line to match rectangles |
990 | + var sid = safeId(d.id); | ||
988 | d3.select(this) | 991 | d3.select(this) |
989 | .attr('x1', exs) | 992 | .attr('x1', exs) |
990 | .attr('y1', eys) | 993 | .attr('y1', eys) |
991 | .attr('x2', ext) | 994 | .attr('x2', ext) |
992 | .attr('y2', eyt); | 995 | .attr('y2', eyt); |
993 | 996 | ||
994 | - d3.select('#srcPort-' + d.id) | 997 | + d3.select('#srcPort-' + sid) |
995 | .attr('x', pxs - portHalfW) | 998 | .attr('x', pxs - portHalfW) |
996 | .attr('y', pys - portHalfH); | 999 | .attr('y', pys - portHalfH); |
997 | 1000 | ||
998 | - d3.select('#tgtPort-' + d.id) | 1001 | + d3.select('#tgtPort-' + sid) |
999 | .attr('x', pxt - portHalfW) | 1002 | .attr('x', pxt - portHalfW) |
1000 | .attr('y', pyt - portHalfH); | 1003 | .attr('y', pyt - portHalfH); |
1001 | 1004 | ||
1002 | // TODO: fit label rect to size of port number. | 1005 | // TODO: fit label rect to size of port number. |
1003 | - d3.select('#srcText-' + d.id) | 1006 | + d3.select('#srcText-' + sid) |
1004 | .attr('x', pxs - 5) | 1007 | .attr('x', pxs - 5) |
1005 | .attr('y', pys + 3); | 1008 | .attr('y', pys + 3); |
1006 | 1009 | ||
1007 | - d3.select('#tgtText-' + d.id) | 1010 | + d3.select('#tgtText-' + sid) |
1008 | .attr('x', pxt - 5) | 1011 | .attr('x', pxt - 5) |
1009 | .attr('y', pyt + 3); | 1012 | .attr('y', pyt + 3); |
1010 | 1013 | ... | ... |
... | @@ -103,20 +103,15 @@ svg .link { | ... | @@ -103,20 +103,15 @@ svg .link { |
103 | svg .link.host { | 103 | svg .link.host { |
104 | stroke: #666; | 104 | stroke: #666; |
105 | stroke-width: 1px; | 105 | stroke-width: 1px; |
106 | - Xstroke-dasharray: 3,3; | ||
107 | } | 106 | } |
108 | 107 | ||
109 | svg g.portLayer rect.port { | 108 | svg g.portLayer rect.port { |
110 | - stroke-width: 1; | 109 | + fill: #ccc; |
111 | - stroke: black; | ||
112 | - fill: white; | ||
113 | } | 110 | } |
114 | 111 | ||
115 | svg g.portLayer text { | 112 | svg g.portLayer text { |
116 | - stroke: #888; | 113 | + Xstroke: #fff; |
117 | - font-size: 8pt; | 114 | + font: 8pt sans-serif; |
118 | - text-align: center; | ||
119 | - font-weight: normal; | ||
120 | pointer-events: none; | 115 | pointer-events: none; |
121 | } | 116 | } |
122 | 117 | ||
... | @@ -149,7 +144,7 @@ svg .node.host circle { | ... | @@ -149,7 +144,7 @@ svg .node.host circle { |
149 | 144 | ||
150 | svg .node text { | 145 | svg .node text { |
151 | fill: white; | 146 | fill: white; |
152 | - font: 10px sans-serif; | 147 | + font: 10pt sans-serif; |
153 | pointer-events: none; | 148 | pointer-events: none; |
154 | } | 149 | } |
155 | 150 | ... | ... |
-
Please register or login to post a comment