@Override public Optional<MatchBuilder> process(@Nonnull SctpDstCase source, MatchResponseConvertorData data, ConvertorExecutor convertorExecutor) { final MatchBuilder matchBuilder = data.getMatchBuilder(); final SctpMatchBuilder sctpMatchBuilder = data.getSctpMatchBuilder(); SctpDst sctpDst = source.getSctpDst(); PortNumber portNumber = sctpDst.getPort(); if (portNumber != null) { sctpMatchBuilder.setSctpDestinationPort(portNumber); matchBuilder.setLayer4Match(sctpMatchBuilder.build()); } return Optional.of(matchBuilder); } }
public static void addMatchDstSctpPort(MatchBuilder match, int portNum) { PortNumber port = new PortNumber(portNum); SctpMatchBuilder sctpMatch = new SctpMatchBuilder(); sctpMatch.setSctpDestinationPort(port); match.setLayer4Match(sctpMatch.build()); }
private Set<SctpMatch> createSctpMatches(SctpMatch sctpMatch, Set<Long> sPorts, Set<Long> dPorts) { Set<SctpMatch> sctpMatches = new HashSet<>(); if (!sPorts.isEmpty() && dPorts.isEmpty()) { for (Long srcPort : sPorts) { equalOrNotSetValidation(sctpMatch.getSctpSourcePort(), srcPort.longValue()); sctpMatches .add(new SctpMatchBuilder(sctpMatch).setSctpSourcePort(new PortNumber(srcPort.intValue())).build()); } } else if (sPorts.isEmpty() && !dPorts.isEmpty()) { for (Long dstPort : dPorts) { equalOrNotSetValidation(sctpMatch.getSctpDestinationPort(), dstPort.longValue()); sctpMatches.add(new SctpMatchBuilder(sctpMatch) .setSctpDestinationPort(new PortNumber(dstPort.intValue())).build()); } } else if (!sPorts.isEmpty() && !dPorts.isEmpty()) { for (Long srcPort : sPorts) { for (Long dstPort : dPorts) { equalOrNotSetValidation(sctpMatch.getSctpSourcePort(), srcPort.longValue()); equalOrNotSetValidation(sctpMatch.getSctpDestinationPort(), dstPort.longValue()); sctpMatches .add(new SctpMatchBuilder(sctpMatch).setSctpSourcePort(new PortNumber(srcPort.intValue())) .setSctpDestinationPort(new PortNumber(dstPort.intValue())) .build()); } } } return sctpMatches; }
private static Layer4Match Layer4MatchAsSctp(final Match sourceMatch) { SctpMatchBuilder sctpMatchBuilder = new SctpMatchBuilder(); Integer sourcePort = transportPort(sourceMatch, MatchType.TP_SRC); Integer destinationPort = transportPort(sourceMatch, MatchType.TP_DST); if (sourcePort != null) { sctpMatchBuilder.setSctpSourcePort(new PortNumber(sourcePort)); } if (destinationPort != null) { sctpMatchBuilder.setSctpDestinationPort(new PortNumber( destinationPort)); } if(sourcePort != null || destinationPort != null) { return sctpMatchBuilder.build(); } return null; }
final PortNumber dstport = new PortNumber(22); sctpmatch.setSctpSourcePort(srcport); sctpmatch1.setSctpDestinationPort(dstport); setFieldBuilder.setLayer4Match(sctpmatch.build()); ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
} else if (field.equals(SctpDst.class)) { SctpDstCase sctpDstCase = ((SctpDstCase) entry.getMatchEntryValue()); sctpMatch.setSctpDestinationPort(new PortNumber(sctpDstCase.getSctpDst().getPort()));
/** * @return */ private static MatchBuilder createL4SCTPMatch() { final MatchBuilder match = new MatchBuilder(); final EthernetMatchBuilder eth = new EthernetMatchBuilder(); final EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder(); ethTypeBuilder.setType(new EtherType(0x0800L)); eth.setEthernetType(ethTypeBuilder.build()); match.setEthernetMatch(eth.build()); final IpMatchBuilder ipmatch = new IpMatchBuilder(); // ipv4 version ipmatch.setIpProtocol((short) 132); match.setIpMatch(ipmatch.build()); final SctpMatchBuilder sctpmatch = new SctpMatchBuilder(); final PortNumber srcport = new PortNumber(1435); final PortNumber dstport = new PortNumber(22); sctpmatch.setSctpSourcePort(srcport); sctpmatch.setSctpDestinationPort(dstport); match.setLayer4Match(sctpmatch.build()); return match; }
sctpMatchBuilder.setSctpDestinationPort(new PortNumber(destPort));