Skip to content

Commit

Permalink
Merge pull request #376 from globalcitizen/master
Browse files Browse the repository at this point in the history
Document ARP cache issue and workaround
  • Loading branch information
vicatcu authored Aug 20, 2019
2 parents a5fe71f + 3e473f4 commit a8d0406
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@ if(!ether.dnsLookup("google.com"))
ether.printIp("Server: ", ether.hisip); // Result of DNS lookup is placed in the hisip member of EtherCard.
```

## Gotchas

Currently the library does not have a local network ARP cache implemented. This means if sending UDP:
* The only ARP lookup it does is for the gateway address.
* You cannot send UDP frames except via a gateway.

If you are wondering why your local UDP packets are not being received, this is why! (See [#59](https://github.com/njh/EtherCard/issues/59), [#181](https://github.com/njh/EtherCard/issues/181), [#269](https://github.com/njh/EtherCard/issues/269), [#309](https://github.com/njh/EtherCard/issues/309), [#351](https://github.com/njh/EtherCard/issues/351), [#368](https://github.com/njh/EtherCard/issues/368)).

The general workaround is to use a gateway and send UDP packets only to non-local network addresses.


## Related Work

Expand Down

0 comments on commit a8d0406

Please sign in to comment.