From f100383b3c094830fee4e54956795388bd5edec1 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 24 Feb 2021 22:31:07 +0100 Subject: Make ethernet address configurable from the Device --- embassy-net/src/stack.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'embassy-net/src/stack.rs') diff --git a/embassy-net/src/stack.rs b/embassy-net/src/stack.rs index d1dcb3bc9..8f63db971 100644 --- a/embassy-net/src/stack.rs +++ b/embassy-net/src/stack.rs @@ -154,15 +154,18 @@ pub fn init(device: &'static mut dyn Device, configurator: &'static mut dyn Conf routes: [None; 1], }); - let ethernet_addr = EthernetAddress([0x02, 0x02, 0x02, 0x02, 0x02, 0x02]); - let medium = device.capabilities().medium; + let ethernet_addr = if medium == Medium::Ethernet { + device.ethernet_address() + } else { + [0, 0, 0, 0, 0, 0] + }; let mut b = InterfaceBuilder::new(DeviceAdapter::new(device)); b = b.ip_addrs(&mut res.addresses[..]); if medium == Medium::Ethernet { - b = b.ethernet_addr(ethernet_addr); + b = b.ethernet_addr(EthernetAddress(ethernet_addr)); b = b.neighbor_cache(NeighborCache::new(&mut res.neighbor_cache[..])); b = b.routes(Routes::new(&mut res.routes[..])); } -- cgit