A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.
Dependents: oldheating gps motorhome heating
Diff: resolve/ar6.c
- Revision:
- 193:47a953ab571b
- Parent:
- 172:9bc3c7b2cca1
--- a/resolve/ar6.c Fri Jan 22 13:24:08 2021 +0000 +++ b/resolve/ar6.c Sun Jan 24 15:09:55 2021 +0000 @@ -145,7 +145,7 @@ } MacClear(mac); } -bool Ar6HaveMacForIp(char* ip, char* mac) +bool Ar6HaveMacForIp(char* ip) { for (int i = 0; i < RECORDS_COUNT; i++) { @@ -153,6 +153,15 @@ } return false; } +bool Ar6CheckHaveMacAndFetchIfNot(char* ip) +{ + if (!Ar6HaveMacForIp(ip)) + { + Ar6MakeRequestForMacFromIp(ip); //The request is only repeated if made after a freeze time - call as often as you want. + return false; + } + return true; +} void Ar6IndexToIp(int i, char* ip) { Ip6AddrCopy(ip, records[i].ip);