patch-2.0.35 linux/net/ipv4/arp.c
Next file: linux/net/ipv4/rarp.c
Previous file: linux/net/core/dev.c
Back to the patch index
Back to the overall index
- Lines: 101
- Date:
Mon Jul 13 13:47:41 1998
- Orig file:
v2.0.34/linux/net/ipv4/arp.c
- Orig date:
Mon Jul 13 13:46:43 1998
diff -u --recursive --new-file v2.0.34/linux/net/ipv4/arp.c linux/net/ipv4/arp.c
@@ -102,9 +102,9 @@
#include <net/tcp.h>
#include <net/sock.h>
#include <net/arp.h>
-#ifdef CONFIG_AX25
+#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
#include <net/ax25.h>
-#ifdef CONFIG_NETROM
+#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
#include <net/netrom.h>
#endif
#endif
@@ -1726,8 +1726,8 @@
* Exceptions everywhere. AX.25 uses the AX.25 PID value not the
* DIX code for the protocol. Make these device structure fields.
*/
-#ifdef CONFIG_AX25
-#ifdef CONFIG_NETROM
+#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
+#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
arp->ar_pro = (dev->type == ARPHRD_AX25 || dev->type == ARPHRD_NETROM) ? htons(AX25_P_IP) : htons(ETH_P_IP);
#else
arp->ar_pro = (dev->type != ARPHRD_AX25) ? htons(ETH_P_IP) : htons(AX25_P_IP);
@@ -1837,7 +1837,7 @@
switch (dev->type)
{
-#ifdef CONFIG_AX25
+#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
case ARPHRD_AX25:
if(arp->ar_pro != htons(AX25_P_IP))
{
@@ -1846,7 +1846,7 @@
}
break;
#endif
-#ifdef CONFIG_NETROM
+#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
case ARPHRD_NETROM:
if(arp->ar_pro != htons(AX25_P_IP))
{
@@ -2358,8 +2358,8 @@
/*
* Convert hardware address to XX:XX:XX:XX ... form.
*/
-#ifdef CONFIG_AX25
-#ifdef CONFIG_NETROM
+#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
+#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
if (entry->dev->type == ARPHRD_AX25 || entry->dev->type == ARPHRD_NETROM)
strcpy(hbuffer,ax2asc((ax25_address *)entry->ha));
else {
@@ -2378,7 +2378,7 @@
}
hbuffer[--k]=0;
-#ifdef CONFIG_AX25
+#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
}
#endif
size = sprintf(buffer+len,
@@ -2464,3 +2464,39 @@
netlink_attach(NETLINK_ARPD, arpd_callback);
#endif
}
+
+#ifdef CONFIG_AX25_MODULE
+
+/*
+ * ax25 -> ascii conversion
+ */
+char *ax2asc(ax25_address *a)
+{
+ static char buf[11];
+ char c, *s;
+ int n;
+
+ for (n = 0, s = buf; n < 6; n++) {
+ c = (a->ax25_call[n] >> 1) & 0x7F;
+
+ if (c != ' ') *s++ = c;
+ }
+
+ *s++ = '-';
+
+ if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
+ *s++ = '1';
+ n -= 10;
+ }
+
+ *s++ = n + '0';
+ *s++ = '\0';
+
+ if (*buf == '\0' || *buf == '-')
+ return "*";
+
+ return buf;
+
+}
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov