Re: [patch] netconsole-2.4.10-B1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andreas Dilger wrote:
> 
> A few minor changes to the code, after testing it a bit locally (note that I
> am using kernel patch C1):
> 
> First, a patch to change the MAC address kernel parameter to be in the
> standard XX:XX:XX:XX:XX:XX form, instead of separate bytes.  It also
> fixes the output of the IP addresses to be unsigned ints.  Isn't there
> a function in the kernel to format IP addresses for output already?

Not quite for formatting, but NIPQUAD(ipaddr) passes 4 octets of IP
address to <anywhere>.

Here's a patch/replacement for the IP address printing in the
netconsole
kernel module, using NIPQUAD().  Against netconsole version C2.

BTW, in linux/include/linux/kernel.h, isn't HIPQUAD() totally useless
(and also unused)?  It looks very little-endian-specific.
Well, it can be used on little-endian systems if the ipaddr is
in host-order.

~Randy
--- linux/drivers/net/netconsole.c.save	Mon Oct  1 07:43:31 2001
+++ linux/drivers/net/netconsole.c	Mon Oct  1 09:28:57 2001
@@ -263,25 +263,20 @@
 		printk(KERN_ERR "netconsole: network device %s is not an IP protocol device, aborting.\n", dev);
 		return -1;
 	}
-	source_ip = ntohl(in_dev->ifa_list->ifa_local);
+	source_ip = in_dev->ifa_list->ifa_local;
 	if (!source_ip) {
 		printk(KERN_ERR "netconsole: network device %s has no local address, aborting.\n", dev);
 		return -1;
 	}
-#define IP(x) ((char *)&source_ip)[x]
-	printk(KERN_INFO "netconsole: using source IP %i.%i.%i.%i\n",
-		IP(3), IP(2), IP(1), IP(0));
-#undef IP
-	source_ip = htonl(source_ip);
+	printk(KERN_INFO "netconsole: using source IP %u.%u.%u.%u\n", NIPQUAD(source_ip));
+
+	target_ip = htonl(target_ip);
 	if (!target_ip) {
 		printk(KERN_ERR "netconsole: target_ip parameter not specified, aborting.\n");
 		return -1;
 	}
-#define IP(x) ((char *)&target_ip)[x]
-	printk(KERN_INFO "netconsole: using target IP %i.%i.%i.%i\n",
-		IP(3), IP(2), IP(1), IP(0));
-#undef IP
-	target_ip = htonl(target_ip);
+	printk(KERN_INFO "netconsole: using target IP %u.%u.%u.%u\n", NIPQUAD(target_ip));
+
 	if (!source_port) {
 		printk(KERN_ERR "netconsole: source_port parameter not specified, aborting.\n");
 		return -1;

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux