aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--Makefile.am3
-rw-r--r--packet-atalk.c8
-rw-r--r--packet-eigrp.h26
-rw-r--r--packet-ip.c6
-rw-r--r--packet-ipx.c13
6 files changed, 51 insertions, 6 deletions
diff --git a/AUTHORS b/AUTHORS
index 616f93c15c..57417c0c91 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -310,6 +310,7 @@ Yaniv Kaul <ykaul@checkpoint.com> {
Paul Ionescu <ipaul@romsys.ro> {
IPX over GRE support
+ EIGRP over Appletalk and EIGRP over IPX support
}
Alain Magloire <alainm@rcsm.ece.mcgill.ca> was kind enough to
diff --git a/Makefile.am b/Makefile.am
index da18174cea..d3bf361f97 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
-# $Id: Makefile.am,v 1.198 2000/05/15 06:48:08 gram Exp $
+# $Id: Makefile.am,v 1.199 2000/05/22 18:09:33 guy Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@zing.org>
@@ -170,6 +170,7 @@ noinst_HEADERS = \
packet-clnp.h \
packet-ddtp.h \
packet-dns.h \
+ packet-eigrp.h \
packet-esis.h \
packet-eth.h \
packet-fddi.h \
diff --git a/packet-atalk.c b/packet-atalk.c
index 6023821b1a..dc7b616794 100644
--- a/packet-atalk.c
+++ b/packet-atalk.c
@@ -1,7 +1,7 @@
/* packet-atalk.c
* Routines for Appletalk packet disassembly (DDP, currently).
*
- * $Id: packet-atalk.c,v 1.34 2000/05/11 08:14:55 gram Exp $
+ * $Id: packet-atalk.c,v 1.35 2000/05/22 18:09:33 guy Exp $
*
* Simon Wilkinson <sxw@dcs.ed.ac.uk>
*
@@ -35,6 +35,7 @@
#include <glib.h>
#include "packet.h"
#include "packet-atalk.h"
+#include "packet-eigrp.h"
#include "etypes.h"
#include "ppptypes.h"
@@ -104,6 +105,7 @@ typedef struct _e_ddp {
#define DDP_RTMPREQ 0x05
#define DDP_ZIP 0x06
#define DDP_ADSP 0x07
+#define DDP_EIGRP 0x58
#define DDP_HEADER_SIZE 13
gchar *
@@ -132,6 +134,7 @@ static const value_string op_vals[] = {
{DDP_RTMPREQ, "AppleTalk Routing Table request"},
{DDP_ZIP, "AppleTalk Zone Information Protocol packet"},
{DDP_ADSP, "AppleTalk Data Stream Protocol"},
+ {DDP_EIGRP, "Cisco EIGRP for AppleTalk"},
{0, NULL}
};
@@ -421,6 +424,9 @@ dissect_ddp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
offset += DDP_HEADER_SIZE;
switch ( ddp.type ) {
+ case DDP_EIGRP:
+ dissect_eigrp(pd, offset, fd, tree);
+ break;
case DDP_NBP:
dissect_nbp(pd, offset, fd, tree);
break;
diff --git a/packet-eigrp.h b/packet-eigrp.h
new file mode 100644
index 0000000000..6cdd53eb38
--- /dev/null
+++ b/packet-eigrp.h
@@ -0,0 +1,26 @@
+/* packet-eigrp.h
+ *
+ * $Id: packet-eigrp.h,v 1.1 2000/05/22 18:09:34 guy Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+
+void dissect_eigrp(const u_char *, int, frame_data *, proto_tree *);
diff --git a/packet-ip.c b/packet-ip.c
index 0cdd138b00..2d9647bfc8 100644
--- a/packet-ip.c
+++ b/packet-ip.c
@@ -1,7 +1,7 @@
/* packet-ip.c
* Routines for IP and miscellaneous IP protocol packet disassembly
*
- * $Id: packet-ip.c,v 1.85 2000/05/11 08:15:11 gram Exp $
+ * $Id: packet-ip.c,v 1.86 2000/05/22 18:09:34 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -55,8 +55,8 @@
#include "llcsaps.h"
#include "packet-ip.h"
#include "packet-ipsec.h"
+#include "packet-eigrp.h"
-static void dissect_eigrp(const u_char *, int, frame_data *, proto_tree *);
static void dissect_icmp(const u_char *, int, frame_data *, proto_tree *);
static void dissect_igmp(const u_char *, int, frame_data *, proto_tree *);
@@ -1518,7 +1518,7 @@ static const value_string eigrp_opcode_vals[] = {
{ 0, NULL }
};
-static void
+void
dissect_eigrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_eigrp ih;
proto_tree *eigrp_tree;
diff --git a/packet-ipx.c b/packet-ipx.c
index 37cd4e986f..06330c3b0f 100644
--- a/packet-ipx.c
+++ b/packet-ipx.c
@@ -2,7 +2,7 @@
* Routines for NetWare's IPX
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-ipx.c,v 1.58 2000/05/19 19:48:01 gram Exp $
+ * $Id: packet-ipx.c,v 1.59 2000/05/22 18:09:36 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -41,6 +41,7 @@
#include "packet-ipx.h"
#include "packet-nbipx.h"
#include "packet-ncp.h"
+#include "packet-eigrp.h"
#include "resolv.h"
#include "packet-snmp.h"
@@ -111,6 +112,9 @@ dissect_ipxsap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree);
static void
dissect_ipxmsg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree);
+static void
+dissect_eigrp_ipx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree);
+
typedef void (dissect_func_t)(const u_char *, int, frame_data *, proto_tree *);
#define UDP_PORT_IPX 213 /* RFC 1234 */
@@ -154,6 +158,7 @@ struct server_info {
#define IPX_SOCKET_ATTACHMATE_GW 0x055d
#define IPX_SOCKET_IPX_MESSAGE 0x4001
#define IPX_SOCKET_ADSM 0x8522 /* www.tivoli.com */
+#define IPX_SOCKET_EIGRP 0x85be /* cisco ipx eigrp */
#define IPX_SOCKET_WIDE_AREA_ROUTER 0x9001
#define IPX_SOCKET_SNMP_AGENT 0x900F /* RFC 1906 */
#define IPX_SOCKET_SNMP_SINK 0x9010 /* RFC 1906 */
@@ -190,6 +195,7 @@ static struct port_info ports[] = {
{ IPX_SOCKET_TCP_TUNNEL, NULL, "TCP Tunnel" },
{ IPX_SOCKET_TCP_TUNNEL, NULL, "TCP Tunnel" },
{ IPX_SOCKET_ADSM, NULL, "ADSM" },
+ { IPX_SOCKET_EIGRP, dissect_eigrp_ipx, "Cisco EIGRP for IPX" },
{ IPX_SOCKET_WIDE_AREA_ROUTER, NULL, "Wide Area Router" },
{ 0x0000, NULL,
NULL }
@@ -819,6 +825,11 @@ dissect_ipxsap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
}
+static void
+dissect_eigrp_ipx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
+{
+ dissect_eigrp(pd,offset,fd,tree);
+}
void
proto_register_ipx(void)