One of the networks I work with has several routers per subnet (in some subnets). Routing may be asymmetric (i.e. requests from outside go through one available router, and responses return via another, or via the same one), so while "PING" works, a specific queried router may not know the target host's MAC in its own ARP/CAM tables, and another router has no SNMP capability.
In effect this condition, or any other situation, does lead to a real situation where SDIG knows the target host's IP and MAC addresses, but no router responded successfully, and the CAM tables of switches are not inspected.
I propose that whenever SDIG gets to know a MAC adress of the target and finds no switch-ports in IP/DNS query mode, it should retry with a MAC query (disregarding the notion of subnets/routings and inspecting all known switches directly).
This seems like a rather simple fix, but I'm not sure when/if I'll start working on it. So if anyone does it first - thanks! ;)