private OFPort buildPort(PortNumber port) { return OFPort.of((int) port.toLong()); }
@Override public Integer inPort() { checkPermission(PACKET_READ); return pktinInPort().getPortNumber(); }
@Override public void changePortState(DeviceId deviceId, PortNumber portNumber, boolean enable) { final Dpid dpid = dpid(deviceId.uri()); OpenFlowSwitch sw = controller.getSwitch(dpid); if (sw == null || !sw.isConnected()) { LOG.error("Failed to change portState on device {}", deviceId); return; } OFPortMod.Builder pmb = sw.factory().buildPortMod(); OFPort port = OFPort.of((int) portNumber.toLong()); pmb.setPortNo(port); if (enable) { pmb.setConfig(0x0); // port_down bit 0 } else { pmb.setConfig(0x1); // port_down bit 1 } pmb.setMask(0x1); pmb.setAdvertise(0x0); for (OFPortDesc pd : sw.getPorts()) { if (pd.getPortNo().equals(port)) { pmb.setHwAddr(pd.getHwAddr()); break; } } sw.sendMsg(Collections.singletonList(pmb.build())); }
OutputInstruction out = (OutputInstruction) i; OFActionOutput.Builder action = factory().actions().buildOutput() .setPort(OFPort.of((int) out.port().toLong())); if (out.port().equals(PortNumber.CONTROLLER)) { action.setMaxLen(OFPCML_NO_BUFFER); .setPort(OFPort.ofInt((int) queue.port().toLong())); acts.add(queueBuilder.build()); break;
private OFPortDesc portDesc(PortNumber port) { OFPortDesc.Builder builder = OFFactoryVer10.INSTANCE.buildPortDesc(); builder.setPortNo(OFPort.of((int) port.toLong())); return builder.build(); }
private PortDescription buildOduCltPortDescription(OFPortDesc port) { PortNumber portNo = PortNumber.portNumber(port.getPortNo().getPortNumber()); boolean enabled = !port.getState().contains(OFPortState.LINK_DOWN) && !port.getConfig().contains(OFPortConfig.PORT_DOWN); Long portSpeedInMbps = portSpeed(port); CltSignalType sigType = null; switch (portSpeedInMbps.toString()) { case "1000": sigType = CltSignalType.CLT_1GBE; break; case "10000": sigType = CltSignalType.CLT_10GBE; break; case "40000": sigType = CltSignalType.CLT_40GBE; break; case "100000": sigType = CltSignalType.CLT_100GBE; break; default: throw new RuntimeException("Un recognize OduClt speed: " + portSpeedInMbps.toString()); } SparseAnnotations annotations = buildOduCltAnnotation(port); return oduCltPortDescription(portNo, enabled, sigType, annotations); }
private OFActionOutput buildOutput(Integer port) { OFActionOutput act = sw.factory().actions() .buildOutput() .setPort(OFPort.of(port)) .build(); return act; }
/** * Build a portDescription from a given Ethernet port description. * * @param port the port to build from. * @return portDescription for the port. */ private PortDescription buildPortDescription(OFPortDesc port) { PortNumber portNo = PortNumber.portNumber(port.getPortNo().getPortNumber()); boolean enabled = !port.getState().contains(OFPortState.LINK_DOWN) && !port.getConfig().contains(OFPortConfig.PORT_DOWN); Port.Type type = port.getCurr().contains(OFPortFeatures.PF_FIBER) ? FIBER : COPPER; SparseAnnotations annotations = makePortAnnotation(port.getName(), port.getHwAddr().toString()); return new DefaultPortDescription(portNo, enabled, type, portSpeed(port), annotations); }
if (ins != null) { Instructions.OutputInstruction out = (Instructions.OutputInstruction) ins; ofPort = OFPort.of((int) ((out.port().toLong())));
@Override public void build(Ethernet ethFrame, OFPort outPort) { if (isBuilt.getAndSet(true)) { return; } OFPacketOut.Builder builder = sw.factory().buildPacketOut(); OFAction act = buildOutput(outPort.getPortNumber()); pktout = builder.setXid(pktin.getXid()) .setBufferId(OFBufferId.NO_BUFFER) .setInPort(pktinInPort()) .setActions(Collections.singletonList(act)) .setData(ethFrame.serialize()) .build(); }
OutputInstruction out = (OutputInstruction) i; OFActionOutput.Builder action = factory().actions().buildOutput() .setPort(OFPort.of((int) out.port().toLong())); if (out.port().equals(PortNumber.CONTROLLER)) { action.setMaxLen(OFPCML_NO_BUFFER);
PortNumber portNo = PortNumber.portNumber(port.getPortNo().getPortNumber());
(Instructions.OutputInstruction) i; OFActionOutput.Builder action = factory.actions().buildOutput() .setPort(OFPort.of((int) out.port().toLong())); if (out.port().equals(PortNumber.CONTROLLER)) { action.setMaxLen(OFPCML_NO_BUFFER);
@Override public void build(OFPort outPort) { if (isBuilt.getAndSet(true)) { return; } OFPacketOut.Builder builder = sw.factory().buildPacketOut(); OFAction act = buildOutput(outPort.getPortNumber()); pktout = builder.setXid(pktin.getXid()) .setInPort(pktinInPort()) .setBufferId(OFBufferId.NO_BUFFER) .setData(pktin.getData()) // .setBufferId(pktin.getBufferId()) .setActions(Collections.singletonList(act)) .build(); }
bucketBuilder.setWatchPort(OFPort.of((int) bucket.watchPort().toLong())); } else { bucketBuilder.setWatchPort(OFPort.ANY);
/** * Build a portDescription from a given port description describing a fiber switch optical port. * * @param port description property type. * @param port the port to build from. * @return portDescription for the port. */ private PortDescription buildPortDescription(OFCalientPortDescStatsEntry port) { PortNumber portNo = PortNumber.portNumber(port.getPortNo().getPortNumber()); // Use the alias name if it's available String name = port.getName(); List<OFCalientPortDescProp> props = port.getProperties(); if (props != null && props.size() > 0) { OFCalientPortDescPropOptical propOptical = (OFCalientPortDescPropOptical) props.get(0); if (propOptical != null) { name = propOptical.getInAlias(); } } // FIXME when Calient OF agent reports port status boolean enabled = true; SparseAnnotations annotations = makePortAnnotation(name, port.getHwAddr().toString()); // S160 data sheet // Wavelength range: 1260 - 1630 nm, grid is irrelevant for this type of switch return omsPortDescription(portNo, enabled, Spectrum.U_BAND_MIN, Spectrum.O_BAND_MAX, Frequency.ofGHz(100), annotations); }
bucketBuilder.setWatchPort(OFPort.of((int) bucket.watchPort().toLong())); } else { bucketBuilder.setWatchPort(OFPort.ANY);
private PortDescription buildPortDescription(OFPortStatus status) { OFPortDesc port = status.getDesc(); if (status.getReason() != OFPortReason.DELETE) { return buildPortDescription(port); } else { PortNumber portNo = PortNumber.portNumber(port.getPortNo().getPortNumber()); Port.Type type = port.getCurr().contains(OFPortFeatures.PF_FIBER) ? FIBER : COPPER; SparseAnnotations annotations = makePortAnnotation(port.getName(), port.getHwAddr().toString()); return new DefaultPortDescription(portNo, false, type, portSpeed(port), annotations); } }
case FF: PortNumber port = PortNumber.portNumber(bucket.getWatchPort().getPortNumber()); GroupId groupId = new DefaultGroupId(bucket.getWatchGroup().getGroupNumber());