From 4829d411aff123a76f303e550548f0d805498f29 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Fri, 16 Jan 2015 21:44:57 +0000 Subject: [PATCH] tiny refactor don't extract srcMac until we need it --- router/router.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/router/router.go b/router/router.go index 7e05ec04..f017e7a0 100644 --- a/router/router.go +++ b/router/router.go @@ -248,7 +248,6 @@ func (router *Router) handleUDPPacketFunc(dec *EthernetDecoder, po PacketSink) F dec.DecodeLayers(frame) decodedLen := len(dec.decoded) df := decodedLen == 2 && (dec.ip.Flags&layers.IPv4DontFragment != 0) - srcMac := dec.eth.SrcMAC if dstPeer != router.Ourself.Peer { // it's not for us, we're just relaying it @@ -286,13 +285,16 @@ func (router *Router) handleUDPPacketFunc(dec *EthernetDecoder, po PacketSink) F return nil } + srcMac := dec.eth.SrcMAC + dstMac := dec.eth.DstMAC + if router.Macs.Enter(srcMac, srcPeer) { log.Println("Discovered remote MAC", srcMac, "at", srcPeer.Name) } router.LogFrame("Injecting", frame, &dec.eth) checkWarn(po.WritePacket(frame)) - dstPeer, found = router.Macs.Lookup(dec.eth.DstMAC) + dstPeer, found = router.Macs.Lookup(dstMac) if !found || dstPeer != router.Ourself.Peer { return checkFrameTooBig(router.Ourself.RelayBroadcast(srcPeer, df, frame, dec), srcPeer) }