summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry')
-rw-r--r--FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/ARPGetCacheEntry_harness.c17
-rw-r--r--FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/Configurations.json41
-rw-r--r--FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/README.md4
3 files changed, 62 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/ARPGetCacheEntry_harness.c b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/ARPGetCacheEntry_harness.c
new file mode 100644
index 000000000..bf188efa1
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/ARPGetCacheEntry_harness.c
@@ -0,0 +1,17 @@
+/* FreeRTOS includes. */
+#include "FreeRTOS.h"
+#include "queue.h"
+
+/* FreeRTOS+TCP includes. */
+#include "FreeRTOS_IP.h"
+#include "FreeRTOS_IP_Private.h"
+#include "FreeRTOS_ARP.h"
+
+
+void harness()
+{
+ uint32_t ulIPAddress;
+ MACAddress_t xMACAddress;
+
+ eARPGetCacheEntry( &ulIPAddress, &xMACAddress );
+} \ No newline at end of file
diff --git a/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/Configurations.json b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/Configurations.json
new file mode 100644
index 000000000..ecc95a87f
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/Configurations.json
@@ -0,0 +1,41 @@
+{
+ "ENTRY": "ARPGetCacheEntry",
+ "CBMCFLAGS":
+ [
+ "--unwind 1",
+ "--unwindset prvCacheLookup.0:7",
+ "--nondet-static"
+ ],
+ "OBJS":
+ [
+ "$(ENTRY)_harness.goto",
+ "$(FREERTOS)/../FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_ARP.goto"
+ ],
+ "DEF":
+ [
+ {
+ "ARPGetCacheEntry_default":[
+ "ipconfigARP_STORES_REMOTE_ADDRESSES=0",
+ "ipconfigUSE_LLMNR=0"
+ ]
+ },
+ {
+ "ARPGetCacheEntry_LLMNR": [
+ "ipconfigARP_STORES_REMOTE_ADDRESSES=0",
+ "ipconfigUSE_LLMNR=1"
+ ]
+ },
+ {
+ "ARPGetCacheEntry_STORE_REMOTE": [
+ "ipconfigARP_STORES_REMOTE_ADDRESSES=1",
+ "ipconfigUSE_LLMNR=0"
+ ]
+ },
+ {
+ "ARPGetCacheEntry_REMOTE_LLMNR": [
+ "ipconfigARP_STORES_REMOTE_ADDRESSES=1",
+ "ipconfigUSE_LLMNR=1"
+ ]
+ }
+ ]
+}
diff --git a/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/README.md b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/README.md
new file mode 100644
index 000000000..03e987ebd
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CBMC/proofs/ARP/ARPGetCacheEntry/README.md
@@ -0,0 +1,4 @@
+The combined proofs in the subdirectories prove that ARPGetCacheEntry
+is memory safe for all possible combinations of ipconfigARP_STORES_REMOTE_ADDRESSES
+and ipconfigUSE_LLMNR. These are the only configuration
+parameters used inside the ARPGetCacheEntry.