/** * Create Ethernet Source Match * * @param matchBuilder MatchBuilder Object without a match yet * @param sMacAddr String representing a source MAC * @return matchBuilder Map MatchBuilder Object with a match */ public static MatchBuilder createEthSrcMatch(MatchBuilder matchBuilder, MacAddress sMacAddr) { EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(sMacAddr); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); matchBuilder.setEthernetMatch(ethernetMatch.build()); return matchBuilder; }
@Override public Optional<MatchBuilder> process(@Nonnull EthSrcCase source, MatchResponseConvertorData data, ConvertorExecutor convertorExecutor) { final MatchBuilder matchBuilder = data.getMatchBuilder(); final EthernetMatchBuilder ethMatchBuilder = data.getEthernetMatchBuilder(); final EthSrc ethSrcCase = source.getEthSrc(); if (ethSrcCase != null) { EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(ethSrcCase.getMacAddress()); byte[] mask = ethSrcCase.getMask(); if (mask != null) { ethSourceBuilder.setMask(new MacAddress(macAddressToString(mask))); } ethMatchBuilder.setEthernetSource(ethSourceBuilder.build()); matchBuilder.setEthernetMatch(ethMatchBuilder.build()); } return Optional.of(matchBuilder); } }
/** * Creates a Match with src ip address mac address set. * @param matchBuilder MatchBuilder Object * @param srcip String containing an IPv6 prefix * @param srcMac The source macAddress * @return matchBuilder Map Object with a match */ public static MatchBuilder createSrcL3Ipv6MatchWithMac(MatchBuilder matchBuilder, Ipv6Prefix srcip, MacAddress srcMac) { Ipv6MatchBuilder ipv6MatchBuilder = new Ipv6MatchBuilder(); ipv6MatchBuilder.setIpv6Source(srcip); EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder(); ethTypeBuilder.setType(new EtherType(0x86DDL)); EthernetMatchBuilder eth = new EthernetMatchBuilder(); eth.setEthernetType(ethTypeBuilder.build()); eth.setEthernetSource(new EthernetSourceBuilder() .setAddress(srcMac) .build()); matchBuilder.setLayer3Match(ipv6MatchBuilder.build()); matchBuilder.setEthernetMatch(eth.build()); return matchBuilder; }
/** * Creates a Match with src ip address mac address set. * @param matchBuilder MatchBuilder Object * @param srcip String containing an IPv4 prefix * @param srcMac The source macAddress * @return matchBuilder Map Object with a match */ public static MatchBuilder createSrcL3Ipv4MatchWithMac(MatchBuilder matchBuilder, Ipv4Prefix srcip, MacAddress srcMac) { Ipv4MatchBuilder ipv4MatchBuilder = new Ipv4MatchBuilder(); ipv4MatchBuilder.setIpv4Source(srcip); EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder(); ethTypeBuilder.setType(new EtherType(0x0800L)); EthernetMatchBuilder eth = new EthernetMatchBuilder(); eth.setEthernetType(ethTypeBuilder.build()); eth.setEthernetSource(new EthernetSourceBuilder() .setAddress(srcMac) .build()); matchBuilder.setLayer3Match(ipv4MatchBuilder.build()); matchBuilder.setEthernetMatch(eth.build()); return matchBuilder; }
public static void addMatchSrcMac(MatchBuilder match, final String srcMac) { EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(new MacAddress(srcMac)); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); match.setEthernetMatch(mergeEthernetMatch(match, ethernetMatch)); }
private static MatchBuilder createEthernetMatch() { final MatchBuilder match = new MatchBuilder(); final EthernetMatchBuilder ethmatch = new EthernetMatchBuilder(); // ethernettype // match final EthernetTypeBuilder ethtype = new EthernetTypeBuilder(); final EtherType type = new EtherType(0x0800L); ethmatch.setEthernetType(ethtype.setType(type).build()); final EthernetDestinationBuilder ethdest = new EthernetDestinationBuilder(); // ethernet // macaddress // match final MacAddress macdest = new MacAddress(DEST_MAC_ADDRESS); ethdest.setAddress(macdest); ethdest.setMask(new MacAddress("ff:ff:ff:00:00:00")); ethmatch.setEthernetDestination(ethdest.build()); final EthernetSourceBuilder ethsrc = new EthernetSourceBuilder(); final MacAddress macsrc = new MacAddress(SRC_MAC_ADDRESS); ethsrc.setAddress(macsrc); ethsrc.setMask(new MacAddress("ff:ff:00:00:00:00")); ethmatch.setEthernetSource(ethsrc.build()); match.setEthernetMatch(ethmatch.build()); return match; }
/** * @return */ private static MatchBuilder createMatch3() { MatchBuilder match = new MatchBuilder(); EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(new MacAddress("00:00:00:00:00:01")); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); match.setEthernetMatch(ethernetMatch.build()); return match; }
EthernetSourceBuilder ethSrcBuilder = new EthernetSourceBuilder(); ethSrcBuilder.setAddress(dMacAddr); if (mask != null) { ethSrcBuilder.setMask(mask); ethernetMatch.setEthernetSource(ethSrcBuilder.build()); matchBuilder.setEthernetMatch(ethernetMatch.build());
/** * @return */ private static MatchBuilder createMatch3() { MatchBuilder match = new MatchBuilder(); EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(new MacAddress("00:00:00:00:00:01")); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); match.setEthernetMatch(ethernetMatch.build()); return match; }
EthernetSourceBuilder ethSrcBuilder = new EthernetSourceBuilder(); ethSrcBuilder.setAddress(new MacAddress(dMacAddr)); if (mask != null) { ethSrcBuilder.setMask(mask); ethernetMatch.setEthernetSource(ethSrcBuilder.build()); matchBuilder.setEthernetMatch(ethernetMatch.build());
/** * @return */ private static MatchBuilder createMatch3() { final MatchBuilder match = new MatchBuilder(); final EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); final EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(new MacAddress("00:00:00:00:00:01")); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); match.setEthernetMatch(ethernetMatch.build()); return match; }
EthernetSourceBuilder ethSrcBuilder = new EthernetSourceBuilder(); ethSrcBuilder.setAddress(new MacAddress(dstMac)); if (mask != null) { ethSrcBuilder.setMask(mask); ethernetMatch.setEthernetSource(ethSrcBuilder.build()); matchBuilder.setEthernetMatch(ethernetMatch.build());
/** * Create Ethernet Source Match * * @param matchBuilder MatchBuilder Object without a match yet * @param sMacAddr String representing a source MAC * @return matchBuilder Map MatchBuilder Object with a match */ public static MatchBuilder createEthSrcMatch(MatchBuilder matchBuilder, MacAddress sMacAddr) { EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(new MacAddress(sMacAddr)); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); matchBuilder.setEthernetMatch(ethernetMatch.build()); return matchBuilder; }
EthernetSourceBuilder ethSrc = new EthernetSourceBuilder(); EthSrcCase ethSrcCase = ((EthSrcCase) entry.getMatchEntryValue()); ethSrc.setAddress(ethSrcCase.getEthSrc().getMacAddress()); if (entry.isHasMask()) { ethSrc.setMask(new MacAddress(ByteUtil.bytesToHexstring(ethSrcCase.getEthSrc().getMask(), ":"))); ethernetMatch.setEthernetSource(ethSrc.build()); } else if (field.equals(EthType.class)) { EthernetTypeBuilder ethType = new EthernetTypeBuilder();
/** * Create Ethernet Source Match * * @param matchBuilder MatchBuilder Object without a match yet * @param srcMac String representing a source MAC * @param dstMac String representing a destination MAC * @return matchBuilder Map MatchBuilder Object with a match */ public static MatchBuilder createEthMatch(MatchBuilder matchBuilder, MacAddress srcMac, MacAddress dstMac) { Preconditions.checkNotNull(matchBuilder); EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); if (srcMac != null) { EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); ethSourceBuilder.setAddress(srcMac); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); } if (dstMac != null) { EthernetDestinationBuilder ethDestinationBuilder = new EthernetDestinationBuilder(); ethDestinationBuilder.setAddress(dstMac); ethernetMatch.setEthernetDestination(ethDestinationBuilder.build()); } matchBuilder.setEthernetMatch(ethernetMatch.build()); return matchBuilder; }
public static EthernetMatch ethernetMatch(MacAddress srcMac, MacAddress dstMac, Long etherType) { EthernetMatchBuilder emb = new EthernetMatchBuilder(); if (srcMac != null) emb.setEthernetSource(new EthernetSourceBuilder().setAddress(srcMac).build()); if (dstMac != null) emb.setEthernetDestination(new EthernetDestinationBuilder().setAddress(dstMac).build()); if (etherType != null) emb.setEthernetType(new EthernetTypeBuilder().setType(new EtherType(etherType)).build()); return emb.build(); }
private Match createMacMatch(MacAddress srcMac, MacAddress dstMac) { EthernetMatchBuilder ethernetMatchBuilder = new EthernetMatchBuilder(); if (dstMac != null) { ethernetMatchBuilder.setEthernetDestination(new EthernetDestinationBuilder() .setAddress(dstMac) .build()); } if (srcMac != null) { ethernetMatchBuilder.setEthernetSource(new EthernetSourceBuilder() .setAddress(srcMac) .build()); } EthernetMatch ethernetMatch = ethernetMatchBuilder.build(); if (ethernetMatch != null) { return new MatchBuilder() .setEthernetMatch(ethernetMatch) .build(); } else { return null; } }
public static Action createActionSetDlSrc(String srcMac, int order) { EthernetSourceBuilder ethSrc = new EthernetSourceBuilder(); ethSrc.setAddress(new MacAddress(srcMac)); EthernetMatchBuilder ethMatchBuilder = new EthernetMatchBuilder(); ethMatchBuilder.setEthernetSource(ethSrc.build()); SetFieldCaseBuilder setFieldCase = new SetFieldCaseBuilder(); setFieldCase.setSetField( new SetFieldBuilder().setEthernetMatch(ethMatchBuilder.build()) .build()); ActionBuilder ab = createActionBuilder(order); ab.setAction(setFieldCase.build()); return ab.build(); }
private void processPacket(final PacketReceived notification) { try { final byte[] rawPacket = notification.getPayload(); final byte[] srcMac = Arrays.copyOfRange(rawPacket, 6, 12); final MatchBuilder match = new MatchBuilder(); final EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder(); final EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder(); //TODO: use HEX, use binary form //Hex.decodeHex("000000000001".toCharArray()); ethSourceBuilder.setAddress(new MacAddress(macAddressToString(srcMac))); ethernetMatch.setEthernetSource(ethSourceBuilder.build()); match.setEthernetMatch(ethernetMatch.build()); // Get the Ingress nodeConnectorRef final NodeConnectorRef ncr = notification.getIngress(); // Get the instance identifier for the nodeConnectorRef final InstanceIdentifier<?> ncri = ncr.getValue(); processPacket(ncri.firstIdentifierOf(Node.class), match.build(), DROP_INSTRUCTIONS); SENT_UPDATER.incrementAndGet(this); } catch (final Exception e) { LOG.warn("Failed to process packet: {}", e.getMessage()); LOG.debug("Failed to process packet.. ", e); EXCS_UPDATER.incrementAndGet(this); } }
public static EthernetMatch ethernetMatch(MacAddress srcMac, MacAddress dstMac, Long etherType) { EthernetMatchBuilder emb = new EthernetMatchBuilder(); if (srcMac != null) emb.setEthernetSource(new EthernetSourceBuilder() .setAddress(srcMac) .build()); if (dstMac != null) emb.setEthernetDestination(new EthernetDestinationBuilder() .setAddress(dstMac) .build()); if (etherType != null) emb.setEthernetType(new EthernetTypeBuilder() .setType(new EtherType(etherType)) .build()); return emb.build(); } }