A non-transitory computer-readable storage medium storing instructions that when executed by a network device cause the network device to perform a method, the method comprising: obtaining duplex-neighborhood information from one or more network neighbors, wherein a network neighbor's duplex-neighborhood information indicates at least a set of neighboring devices to the network neighbor that can send and receive packets directly to/from the network neighbor; defining one or more virtual interfaces based on the duplex-neighborhood information, wherein a respective virtual interface's member nodes include the network device and a set of directly and mutually-connected network peers, wherein the set of network peers are also directly connected to the network device; generating an interface identifier for a first virtual interface; receiving a packet from the first virtual interface; identifying a target second virtual interface to which the packet is directed, wherein members of the target second virtual interface include a set of directly and mutually-connected network peers , wherein identifying the target second virtual interface involves obtaining an interface identifier from the packet's header; determining whether the network device is a member of the target second virtual interface, wherein determining whether the network device is a member of the identified target virtual interface involves comparing the interface identifiers to a set of pre-computed identifiers; and in response to determining that the network device is a member of the target second virtual interface, processing the packet as an intended recipient of the packet to forward the packet across another interface. obtaining duplex-neighborhood information from one or more network neighbors, wherein a network neighbor's duplex-neighborhood information indicates at least a set of neighboring devices to the network neighbor that can send and receive packets directly to/from the network neighbor; defining one or more virtual interfaces based on the duplex-neighborhood information, wherein a respective virtual interface's member nodes include the network device and a set of directly and mutually-connected network peers, wherein the set of network peers are also directly connected to the network device; generating an interface identifier for a first virtual interface; receiving a packet from the first virtual interface; identifying a target second virtual interface to which the packet is directed, wherein members of the target second virtual interface include a set of directly and mutually-connected network peers , wherein identifying the target second virtual interface involves obtaining an interface identifier from the packet's header; determining whether the network device is a member of the target second virtual interface, wherein determining whether the network device is a member of the identified target virtual interface involves comparing the interface identifiers to a set of pre-computed identifiers; and in response to determining that the network device is a member of the target second virtual interface, processing the packet as an intended recipient of the packet to forward the packet across another interface. <EOS>