]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wlantest: Add support for reading DLT_IEEE802_11 pcap files
authorJouni Malinen <jouni.malinen@atheros.com>
Sat, 4 Dec 2010 19:18:21 +0000 (11:18 -0800)
committerJouni Malinen <j@w1.fi>
Sat, 4 Dec 2010 19:18:21 +0000 (11:18 -0800)
wlantest/process.c
wlantest/readpcap.c
wlantest/wlantest.h

index 78908927ef476f9abbe20b3c61c7e58020c3e47e..6cdb10b9b39fd83b4174a607abe55df48861d113 100644 (file)
@@ -262,3 +262,10 @@ void wlantest_process_prism(struct wlantest *wt, const u8 *data, size_t len)
 
        rx_frame(wt, frame, frame_len);
 }
+
+
+void wlantest_process_80211(struct wlantest *wt, const u8 *data, size_t len)
+{
+       wpa_hexdump(MSG_EXCESSIVE, "Process data", data, len);
+       rx_frame(wt, data, len);
+}
index ecb5ae22a86d266a31bbb50863743402c9383be9..f2f6e92124ec46fbfaaca895a022610d0062e23a 100644 (file)
@@ -36,7 +36,8 @@ int read_cap_file(struct wlantest *wt, const char *fname)
                return -1;
        }
        dlt = pcap_datalink(pcap);
-       if (dlt != DLT_IEEE802_11_RADIO && dlt != DLT_PRISM_HEADER) {
+       if (dlt != DLT_IEEE802_11_RADIO && dlt != DLT_PRISM_HEADER &&
+           dlt != DLT_IEEE802_11) {
                wpa_printf(MSG_ERROR, "Unsupported pcap datalink type: %d",
                           dlt);
                pcap_close(pcap);
@@ -82,6 +83,8 @@ int read_cap_file(struct wlantest *wt, const char *fname)
                case DLT_PRISM_HEADER:
                        wlantest_process_prism(wt, data, hdr->caplen);
                        break;
+               case DLT_IEEE802_11:
+                       wlantest_process_80211(wt, data, hdr->caplen);
                }
        }
 
index 81f4731489a19822055826662b44509eac10be60..35e513572990e259c33e8ca650844ceb67441f41 100644 (file)
@@ -155,6 +155,7 @@ void write_pcap_decrypted(struct wlantest *wt, const u8 *buf1, size_t len1,
                          const u8 *buf2, size_t len2);
 void wlantest_process(struct wlantest *wt, const u8 *data, size_t len);
 void wlantest_process_prism(struct wlantest *wt, const u8 *data, size_t len);
+void wlantest_process_80211(struct wlantest *wt, const u8 *data, size_t len);
 void wlantest_process_wired(struct wlantest *wt, const u8 *data, size_t len);
 u32 crc32(const u8 *frame, size_t frame_len);
 int monitor_init(struct wlantest *wt, const char *ifname);