The app-note code often includes things like,
cfg.add_ethertype_filter(index, 0x0806);
cfg.add_ethertype_filter(index, 0x0800);
Where ideally there should be the following defines, or similar,
#define ETH_FRAME_TYPE_ARP 0x0806
#define ETH_FRAME_TYPE_IP 0x0800