--- /dev/null
+--- a/src/ifaces.c 2009-11-28 18:45:44.000000000 +0000
++++ b/src/ifaces.c 2009-11-28 18:47:46.000000000 +0000
+@@ -32,14 +32,14 @@
+ #include "error.h"
+
+ extern int accept_unsupported_interfaces;
+-#define NUM_SUPPORTED_IFACES 26
++#define NUM_SUPPORTED_IFACES 27
+
+ extern int daemonized;
+
+ char ifaces[][6] =
+ { "lo", "eth", "sl", "ppp", "ippp", "plip", "isdn", "dvb",
+ "pvc", "hdlc", "ipsec", "sbni", "tr", "wvlan", "wlan", "sm2", "sm3",
+- "pent", "lec", "brg", "tun", "tap", "cipcb", "tunl", "vlan"
++ "pent", "lec", "brg", "tun", "tap", "cipcb", "tunl", "vlan", "ath"
+ };
+
+ char *ltrim(char *buf)
+--- a/src/packet.c 2009-11-28 18:45:44.000000000 +0000
++++ b/src/packet.c 2009-11-28 18:48:06.000000000 +0000
+@@ -104,6 +104,8 @@
+ result = LINK_ETHERNET;
+ else if (strncmp(ifname, "tap", 3) == 0)
+ result = LINK_ETHERNET;
++ else if (strncmp(ifname, "ath", 3) == 0)
++ result = LINK_ETHERNET;
+ else if ((strncmp(ifname, "isdn", 4) == 0) && (isdn_fd != -1)) {
+ isdnent = isdn_table_lookup(isdnlist, ifname, isdn_fd);
+
+--- a/src/promisc.c 2009-11-28 18:45:44.000000000 +0000
++++ b/src/promisc.c 2009-11-28 18:48:28.000000000 +0000
+@@ -82,6 +82,7 @@
+
+ if ((strncmp(buf, "eth", 3) == 0) ||
+ (strncmp(buf, "tr", 2) == 0) ||
++ (strncmp(buf, "ath", 3) == 0) ||
+ (strncmp(buf, "vlan", 4) == 0) ||
+ (strncmp(ptmp->params.ifname, "wvlan", 4) == 0) ||
+ (strncmp(ptmp->params.ifname, "lec", 3) == 0) ||