Committed by
Gerrit Code Review
Fix for drop/demux cross connect rules.
Change-Id: I239d50e7faeb0cd3d91ad0c17db58e2ab905426f
Showing
1 changed file
with
11 additions
and
1 deletions
| ... | @@ -70,10 +70,13 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements | ... | @@ -70,10 +70,13 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements |
| 70 | private static final int DEFAULT_CHANNEL_TARGET_POWER = -30; | 70 | private static final int DEFAULT_CHANNEL_TARGET_POWER = -30; |
| 71 | private static final int DISABLE_CHANNEL_ABSOLUTE_ATTENUATION = 160; | 71 | private static final int DISABLE_CHANNEL_ABSOLUTE_ATTENUATION = 160; |
| 72 | private static final int DEFAULT_CHANNEL_ABSOLUTE_ATTENUATION = 50; | 72 | private static final int DEFAULT_CHANNEL_ABSOLUTE_ATTENUATION = 50; |
| 73 | + private static final int DISABLE_CHANNEL_ADD_DROP_PORT_INDEX = 1; | ||
| 73 | private static final int OUT_OF_SERVICE = 1; | 74 | private static final int OUT_OF_SERVICE = 1; |
| 74 | private static final int IN_SERVICE = 2; | 75 | private static final int IN_SERVICE = 2; |
| 75 | private static final int OPEN_LOOP = 1; | 76 | private static final int OPEN_LOOP = 1; |
| 76 | private static final int CLOSED_LOOP = 2; | 77 | private static final int CLOSED_LOOP = 2; |
| 78 | + // First 20 ports are add/mux ports, next 20 are drop/demux | ||
| 79 | + private static final int DROP_PORT_OFFSET = 20; | ||
| 77 | 80 | ||
| 78 | // OIDs | 81 | // OIDs |
| 79 | private static final String CTRL_AMP_MODULE_SERVICE_STATE_PREAMP = ".1.3.6.1.4.1.46184.1.4.4.1.2.1"; | 82 | private static final String CTRL_AMP_MODULE_SERVICE_STATE_PREAMP = ".1.3.6.1.4.1.46184.1.4.4.1.2.1"; |
| ... | @@ -194,6 +197,9 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements | ... | @@ -194,6 +197,9 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements |
| 194 | 197 | ||
| 195 | int channel = toChannel(xc.ochSignal()); | 198 | int channel = toChannel(xc.ochSignal()); |
| 196 | long addDrop = xc.addDrop().toLong(); | 199 | long addDrop = xc.addDrop().toLong(); |
| 200 | + if (!xc.isAddRule()) { | ||
| 201 | + addDrop -= DROP_PORT_OFFSET; | ||
| 202 | + } | ||
| 197 | 203 | ||
| 198 | // Create the PDU object | 204 | // Create the PDU object |
| 199 | PDU pdu = new PDU(); | 205 | PDU pdu = new PDU(); |
| ... | @@ -265,7 +271,8 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements | ... | @@ -265,7 +271,8 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements |
| 265 | // Put cross connect back into default port 1 | 271 | // Put cross connect back into default port 1 |
| 266 | OID ctrlChannelAddDropPortIndex = new OID(CTRL_CHANNEL_ADD_DROP_PORT_INDEX + | 272 | OID ctrlChannelAddDropPortIndex = new OID(CTRL_CHANNEL_ADD_DROP_PORT_INDEX + |
| 267 | (xc.isAddRule() ? "1." : "2.") + channel); | 273 | (xc.isAddRule() ? "1." : "2.") + channel); |
| 268 | - pdu.add(new VariableBinding(ctrlChannelAddDropPortIndex, new UnsignedInteger32(OUT_OF_SERVICE))); | 274 | + pdu.add(new VariableBinding(ctrlChannelAddDropPortIndex, |
| 275 | + new UnsignedInteger32(DISABLE_CHANNEL_ADD_DROP_PORT_INDEX))); | ||
| 269 | 276 | ||
| 270 | // Put port/channel back to open loop | 277 | // Put port/channel back to open loop |
| 271 | OID ctrlChannelMode = new OID(CTRL_CHANNEL_MODE + (xc.isAddRule() ? "1." : "2.") + channel); | 278 | OID ctrlChannelMode = new OID(CTRL_CHANNEL_MODE + (xc.isAddRule() ? "1." : "2.") + channel); |
| ... | @@ -336,6 +343,9 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements | ... | @@ -336,6 +343,9 @@ public class LumentumFlowRuleDriver extends AbstractHandlerBehaviour implements |
| 336 | for (VariableBinding varBinding : varBindings) { | 343 | for (VariableBinding varBinding : varBindings) { |
| 337 | if (varBinding.getOid().last() == channel) { | 344 | if (varBinding.getOid().last() == channel) { |
| 338 | int port = varBinding.getVariable().toInt(); | 345 | int port = varBinding.getVariable().toInt(); |
| 346 | + if (!isAddPort) { | ||
| 347 | + port += DROP_PORT_OFFSET; | ||
| 348 | + } | ||
| 339 | return PortNumber.portNumber(port); | 349 | return PortNumber.portNumber(port); |
| 340 | 350 | ||
| 341 | } | 351 | } | ... | ... |
-
Please register or login to post a comment