diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2005-11-09 13:36:25 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2005-11-13 14:48:20 -0500 |
commit | 4756b02f558cbbbef5ae278fd3bbed778458c124 (patch) | |
tree | 8eca3a9d61659ab236080014ddb1967c0b39fb38 /drivers | |
parent | 6b780567223524cac86c745aeac425521cf37490 (diff) |
[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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index b656e53f4624..d5415ba9bdb0 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -3259,6 +3259,8 @@ static void bond_info_show_master(struct seq_file *seq) | |||
3259 | { | 3259 | { |
3260 | struct bonding *bond = seq->private; | 3260 | struct bonding *bond = seq->private; |
3261 | struct slave *curr; | 3261 | struct slave *curr; |
3262 | int i; | ||
3263 | u32 target; | ||
3262 | 3264 | ||
3263 | read_lock(&bond->curr_slave_lock); | 3265 | read_lock(&bond->curr_slave_lock); |
3264 | curr = bond->curr_active_slave; | 3266 | curr = bond->curr_active_slave; |
@@ -3290,6 +3292,27 @@ static void bond_info_show_master(struct seq_file *seq) | |||
3290 | seq_printf(seq, "Down Delay (ms): %d\n", | 3292 | seq_printf(seq, "Down Delay (ms): %d\n", |
3291 | bond->params.downdelay * bond->params.miimon); | 3293 | bond->params.downdelay * bond->params.miimon); |
3292 | 3294 | ||
3295 | |||
3296 | /* ARP information */ | ||
3297 | if(bond->params.arp_interval > 0) { | ||
3298 | int printed=0; | ||
3299 | seq_printf(seq, "ARP Polling Interval (ms): %d\n", | ||
3300 | bond->params.arp_interval); | ||
3301 | |||
3302 | seq_printf(seq, "ARP IP target/s (n.n.n.n form):"); | ||
3303 | |||
3304 | for(i = 0; (i < BOND_MAX_ARP_TARGETS) ;i++) { | ||
3305 | if (!bond->params.arp_targets[i]) | ||
3306 | continue; | ||
3307 | if (printed) | ||
3308 | seq_printf(seq, ","); | ||
3309 | target = ntohl(bond->params.arp_targets[i]); | ||
3310 | seq_printf(seq, " %d.%d.%d.%d", HIPQUAD(target)); | ||
3311 | printed = 1; | ||
3312 | } | ||
3313 | seq_printf(seq, "\n"); | ||
3314 | } | ||
3315 | |||
3293 | if (bond->params.mode == BOND_MODE_8023AD) { | 3316 | if (bond->params.mode == BOND_MODE_8023AD) { |
3294 | struct ad_info ad_info; | 3317 | struct ad_info ad_info; |
3295 | 3318 | ||