Skip to content

Device Emulation

Design/Implementation Notes

uml diagram

uml diagram

Resolution code path

SMAC

(user/client)
    StreamBase::frameValue(buf, bufSize, frameIdx)
        MacProtocol::protocolFrameValue(frameIdx)
            MacProtocol::fieldData(mac_srcAddr)
                StreamBase::deviceMacAddress(frameIdx)
                    getDeviceMacAddress(portId, streamId, frameIdx)
                        AbstractPort::deviceMacAddress(streamId, frameIdx)
                            Stream::frameValue(pktBuf, minBufSize, frameIdx)
                            DeviceManager::deviceMacAddress(pktBuf)
                                DeviceManager::originDevice(pktBuf)
                                return DeviceManager::mac()

DMAC

(user/client)
    StreamBase::frameValue(buf, bufSize, frameIdx)
        MacProtocol::protocolFrameValue(frameIdx)
            MacProtocol::fieldData(mac_dstAddr)
                StreamBase::neighborMacAddress(frameIdx)
                    getDeviceMacAddress(portId, streamId, frameIdx)
                        AbstractPort::neighborMacAddress(streamId, frameIdx)
                            Stream::frameValue(pktBuf, minBufSize, frameIdx)
                            DeviceManager::neighborMacAddress(pktBuf)
                                DeviceManager::originDevice(pktBuf)
                                return DeviceManager::neighborMac(pkgBuf)
Back to top