/** * Gets the destination MAC address. * * @return the destination MAC as a byte array */ public byte[] getDestinationMACAddress() { return this.destinationMACAddress.toBytes(); }
/** * Gets the source MAC address. * * @return the source MACAddress as a byte array */ public byte[] getSourceMACAddress() { return this.sourceMACAddress.toBytes(); }
/** * Builds an ARP request using the supplied parameters. * * @param senderMacAddress the mac address of the sender * @param senderIpAddress the ip address of the sender * @param targetIpAddress the ip address to resolve * @param vlanId the vlan id * @return the Ethernet frame containing the ARP request */ public static Ethernet buildArpRequest(byte[] senderMacAddress, byte[] senderIpAddress, byte[] targetIpAddress, short vlanId) { return buildArpRequest(senderMacAddress, senderIpAddress, MacAddress.ZERO.toBytes(), targetIpAddress, MacAddress.BROADCAST.toBytes(), vlanId); }
/** * Converts a long MAC address to a byte array. * * @param macAddress MAC address set on the lower order bytes of the long * @return the bytes of the mac address */ public static byte[] toByteArray(final long macAddress) { return MacAddress.valueOf(macAddress).toBytes(); }
/** * Accepts a MAC address of the form 00:aa:11:bb:22:cc, case does not * matter, and returns a corresponding byte[]. * * @param macAddress * The MAC address to convert into a byte array * @return The macAddress as a byte array */ public static byte[] toMACAddress(final String macAddress) { return MacAddress.valueOf(macAddress).toBytes(); }
@Override public void writeTo(ByteBuf byteBuf, LispMacAddress address) throws LispWriterException { byte[] macByte = address.getAddress().toBytes(); byteBuf.writeBytes(macByte); } }
@Override public byte[] serialize() { final byte[] data = new byte[LENGTH - HEADER_LENGTH]; final ByteBuffer bb = ByteBuffer.wrap(data); bb.putShort(this.systemPriority); bb.put(this.systemMac.toBytes()); bb.putShort(this.key); bb.putShort(this.portPriority); bb.putShort(this.port); bb.put(this.state.toByte()); bb.put(RESERVED); return data; }
@Override public void write(Kryo kryo, Output output, MacAddress object) { output.writeBytes(object.toBytes()); }
@Override public void init(Criterion criterion, int bitWidth) throws ByteSequenceTrimException { EthCriterion c = (EthCriterion) criterion; ImmutableByteSequence value = copyFrom(c.mac().toBytes()); if (c.mask() == null) { initAsExactMatch(value, bitWidth); } else { ImmutableByteSequence mask = copyFrom(c.mask().toBytes()); initAsTernaryMatch(value, mask, bitWidth); } } }
public void setChassisId(final ChassisId chassisId) { MacAddress chassisMac = MacAddress.valueOf(chassisId.value()); byte[] chassis = ArrayUtils.addAll(new byte[] {CHASSIS_TLV_SUBTYPE}, chassisMac.toBytes()); LLDPTLV chassisTLV = new LLDPTLV(); chassisTLV.setLength(CHASSIS_TLV_SIZE); chassisTLV.setType(CHASSIS_TLV_TYPE); chassisTLV.setValue(chassis); this.setChassisId(chassisTLV); }
@Override public int write(ChannelBuffer cb) { int iLenStartIndex = cb.writerIndex(); cb.writeLong(rd.getRouteDistinguisher()); esi.write(cb); cb.writeInt(ethernetTagID); cb.writeByte(macAddressLength); cb.writeBytes(macAddress.toBytes()); cb.writeByte(ipAddressLength); if (ipAddressLength > 0) { cb.writeBytes(ipAddress.getAddress()); } mplsLabel1.write(cb); if (mplsLabel2 != null) { mplsLabel2.write(cb); } return cb.writerIndex() - iLenStartIndex; }
ns.addOption(NeighborDiscoveryOptions.TYPE_SOURCE_LL_ADDRESS, sourceMac.toBytes());
sourceIp.toOctets(), destIp, sourceMac.toBytes(), IPv6.getMCastMacAddress(destIp), vlan
private Ethernet buildArpResponse(IpAddress targetIp, MacAddress targetMac, IpAddress sourceIp, MacAddress sourceMac) { ARP arp = new ARP(); arp.setHardwareType(ARP.HW_TYPE_ETHERNET) .setHardwareAddressLength((byte) Ethernet.DATALAYER_ADDRESS_LENGTH) .setProtocolType(ARP.PROTO_TYPE_IP) .setProtocolAddressLength((byte) Ip4Address.BYTE_LENGTH) .setOpCode(ARP.OP_REPLY); arp.setSenderHardwareAddress(sourceMac.toBytes()) .setSenderProtocolAddress(sourceIp.getIp4Address().toInt()) .setTargetHardwareAddress(targetMac.toBytes()) .setTargetProtocolAddress(targetIp.getIp4Address().toInt()); Ethernet ethernet = new Ethernet(); ethernet.setEtherType(Ethernet.TYPE_ARP) .setDestinationMACAddress(targetMac) .setSourceMACAddress(sourceMac) .setPayload(arp); ethernet.setPad(true); return ethernet; }
nadv.setOverrideFlag(NDP_OVERRIDE_FLAG); nadv.addOption(NeighborDiscoveryOptions.TYPE_TARGET_LL_ADDRESS, srcMac.toBytes());
private Ethernet buildArpRequest(IpAddress targetIp, IpAddress sourceIp, MacAddress sourceMac) { ARP arp = new ARP(); arp.setHardwareType(ARP.HW_TYPE_ETHERNET) .setHardwareAddressLength((byte) Ethernet.DATALAYER_ADDRESS_LENGTH) .setProtocolType(ARP.PROTO_TYPE_IP) .setProtocolAddressLength((byte) Ip4Address.BYTE_LENGTH) .setOpCode(ARP.OP_REQUEST); arp.setSenderHardwareAddress(sourceMac.toBytes()) .setSenderProtocolAddress(sourceIp.getIp4Address().toInt()) .setTargetHardwareAddress(ZERO_MAC_ADDRESS) .setTargetProtocolAddress(targetIp.getIp4Address().toInt()); Ethernet ethernet = new Ethernet(); ethernet.setEtherType(Ethernet.TYPE_ARP) .setDestinationMACAddress(MacAddress.BROADCAST) .setSourceMACAddress(sourceMac) .setPayload(arp); ethernet.setPad(true); return ethernet; }
private Ethernet buildArpRequest(IpAddress targetIp, IpAddress sourceIp, MacAddress sourceMac, VlanId vlan) { ARP arp = new ARP(); arp.setHardwareType(ARP.HW_TYPE_ETHERNET) .setHardwareAddressLength((byte) Ethernet.DATALAYER_ADDRESS_LENGTH) .setProtocolType(ARP.PROTO_TYPE_IP) .setProtocolAddressLength((byte) IpAddress.INET_BYTE_LENGTH) .setOpCode(ARP.OP_REQUEST); arp.setSenderHardwareAddress(sourceMac.toBytes()) .setSenderProtocolAddress(sourceIp.toOctets()) .setTargetHardwareAddress(ZERO_MAC_ADDRESS) .setTargetProtocolAddress(targetIp.toOctets()); Ethernet ethernet = new Ethernet(); ethernet.setEtherType(Ethernet.TYPE_ARP) .setDestinationMACAddress(MacAddress.BROADCAST) .setSourceMACAddress(sourceMac) .setPayload(arp); if (!vlan.equals(VlanId.NONE)) { ethernet.setVlanID(vlan.toShort()); } ethernet.setPad(true); return ethernet; }
arp.setSenderHardwareAddress(srcMac.toBytes()); arp.setTargetHardwareAddress(request.getSourceMACAddress());
srcMac.toBytes());