]> err.no Git - linux-2.6/commitdiff
[PATCH] bonding: add ARP entries to /proc
authorMitch Williams <mitch.a.williams@intel.com>
Wed, 9 Nov 2005 18:36:25 +0000 (10:36 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Sun, 13 Nov 2005 19:48:20 +0000 (14:48 -0500)
Make the /proc files show which ARP targets are in use by each bond.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/bonding/bond_main.c

index b656e53f4624ba16743052540558141ba5984168..d5415ba9bdb06a976d0142e22c669e2ff2c32129 100644 (file)
@@ -3259,6 +3259,8 @@ static void bond_info_show_master(struct seq_file *seq)
 {
        struct bonding *bond = seq->private;
        struct slave *curr;
+       int i;
+       u32 target;
 
        read_lock(&bond->curr_slave_lock);
        curr = bond->curr_active_slave;
@@ -3290,6 +3292,27 @@ static void bond_info_show_master(struct seq_file *seq)
        seq_printf(seq, "Down Delay (ms): %d\n",
                   bond->params.downdelay * bond->params.miimon);
 
+
+       /* ARP information */
+       if(bond->params.arp_interval > 0) {
+               int printed=0;
+               seq_printf(seq, "ARP Polling Interval (ms): %d\n",
+                               bond->params.arp_interval);
+
+               seq_printf(seq, "ARP IP target/s (n.n.n.n form):");
+
+               for(i = 0; (i < BOND_MAX_ARP_TARGETS) ;i++) {
+                       if (!bond->params.arp_targets[i])
+                               continue;
+                       if (printed)
+                               seq_printf(seq, ",");
+                       target = ntohl(bond->params.arp_targets[i]);
+                       seq_printf(seq, " %d.%d.%d.%d", HIPQUAD(target));
+                       printed = 1;
+               }
+               seq_printf(seq, "\n");
+       }
+
        if (bond->params.mode == BOND_MODE_8023AD) {
                struct ad_info ad_info;