Pseudo Ethernet/MACVLAN

Pseudo-Ethernet or MACVLAN interfaces can be seen as subinterfaces to regular ethernet interfaces. Each and every subinterface is created a different media access control (MAC) address, for a single physical Ethernet port. Pseudo- Ethernet interfaces have most of their application in virtualized environments,

By using Pseudo-Ethernet interfaces there will be less system overhead compared to running a traditional bridging approach. Pseudo-Ethernet interfaces can also be used to workaround the general limit of 4096 virtual LANs (VLANs) per physical Ethernet port, since that limit is with respect to a single MAC address.

Every Virtual Ethernet interfaces behaves like a real Ethernet interface. They can have IPv4/IPv6 addresses configured, or can request addresses by DHCP/ DHCPv6 and are associated/mapped with a real ethernet port. This also makes Pseudo-Ethernet interfaces interesting for testing purposes. A Pseudo-Ethernet device will inherit characteristics (speed, duplex, …) from its physical parent (the so called link) interface.

Once created in the system, Pseudo-Ethernet interfaces can be referenced in the exact same way as other Ethernet interfaces. Notes about using Pseudo- Ethernet interfaces:

  • Pseudo-Ethernet interfaces can not be reached from your internal host. This means that you can not try to ping a Pseudo-Ethernet interface from the host system on which it is defined. The ping will be lost.
  • Loopbacks occurs at the IP level the same way as for other interfaces, ethernet packets are not forwarded between Pseudo-Ethernet interfaces.
  • Pseudo-Ethernet interfaces can not participate in Link Bonding.
  • Pseudo-Ethernet interfaces may not work in environments which expect a NIC to only have a single address. This applies to: - VMware machines using default settings - Network switches with security settings allowing only a single MAC address - xDSL modems that try to lear the MAC address of the NIC

Configuration

Address

set interfaces pseudo-ethernet <interface> address <address | dhcp | dhcpv6>

Configure interface <interface> with one or more interface addresses.

  • address can be specified multiple times as IPv4 and/or IPv6 address, e.g. 192.0.2.1/24 and/or 2001:db8::1/64
  • dhcp interface address is received by DHCP from a DHCP server on this segment.
  • dhcpv6 interface address is received by DHCPv6 from a DHCPv6 server on this segment.

Example:

set interfaces pseudo-ethernet peth0 address 192.0.2.1/24
set interfaces pseudo-ethernet peth0 address 192.0.2.2/24
set interfaces pseudo-ethernet peth0 address 2001:db8::ffff/64
set interfaces pseudo-ethernet peth0 address 2001:db8:100::ffff/64
set interfaces pseudo-ethernet <interface> ipv6 address autoconf

SLAAC RFC 4862. IPv6 hosts can configure themselves automatically when connected to an IPv6 network using the Neighbor Discovery Protocol via ICMPv6 router discovery messages. When first connected to a network, a host sends a link-local router solicitation multicast request for its configuration parameters; routers respond to such a request with a router advertisement packet that contains Internet Layer configuration parameters.

Note

This method automatically disables IPv6 traffic forwarding on the interface in question.

Physical Asignment

set interfaces pseudo-ethernet <interface> source-interface <ethX>
Specifies the physical <ethX> Ethernet interface associated with a Pseudo Ethernet <interface>.