[PATCH] bonding: add ARP entries to /proc

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>
This commit is contained in:
Mitch Williams 2005-11-09 10:36:25 -08:00 committed by John W. Linville
parent 6b78056722
commit 4756b02f55
1 changed files with 23 additions and 0 deletions

View File

@ -3259,6 +3259,8 @@ static void bond_info_show_master(struct seq_file *seq)
{ {
struct bonding *bond = seq->private; struct bonding *bond = seq->private;
struct slave *curr; struct slave *curr;
int i;
u32 target;
read_lock(&bond->curr_slave_lock); read_lock(&bond->curr_slave_lock);
curr = bond->curr_active_slave; 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", seq_printf(seq, "Down Delay (ms): %d\n",
bond->params.downdelay * bond->params.miimon); 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) { if (bond->params.mode == BOND_MODE_8023AD) {
struct ad_info ad_info; struct ad_info ad_info;