--- nono/vm/lance.h 2026/04/29 17:05:33 1.1.1.14 +++ nono/vm/lance.h 2026/04/29 17:05:38 1.1.1.15 @@ -144,7 +144,7 @@ struct AM7990 bool IsBSWP() const { return (csr3 & CSR3_BSWP); } }; -class LanceDevice : public EthernetDevice +class LanceDevice : public EthernetDevice, public IHWAddrFilter { using inherited = EthernetDevice; @@ -172,6 +172,8 @@ class LanceDevice : public EthernetDevic bool Init() override; void ResetHard(bool poweron) override; + int HWAddrFilter(const MacAddr& dstaddr) const override; + // BusIO インタフェース // (内蔵 ROM からのアクセス用に特別に public にしてある) busdata WritePort(uint32 offset, uint32 data); @@ -233,7 +235,9 @@ class LanceDevice : public EthernetDevic // Initialization Block uint16 initblock[12] {}; - macaddr_t padr {}; + MacAddr padr {}; + uint64 ladrf {}; + bool promisc {}; uint32 rmd_base {}; // 受信ディスクリプタの(SubRAMでの)開始アドレス uint rmd_num {}; // 受信ディスクリプタ数