aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r--drivers/net/bonding/bond_alb.c6
-rw-r--r--drivers/net/bonding/bond_debugfs.c10
-rw-r--r--drivers/net/bonding/bond_main.c116
-rw-r--r--drivers/net/bonding/bond_procfs.c8
4 files changed, 67 insertions, 73 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index a21286088821..e9f0a98f3df5 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -1243,9 +1243,9 @@ static int alb_handle_addr_collision_on_attach(struct bonding *bond, struct slav
1243 if (free_mac_slave) { 1243 if (free_mac_slave) {
1244 alb_set_slave_mac_addr(slave, free_mac_slave->perm_hwaddr); 1244 alb_set_slave_mac_addr(slave, free_mac_slave->perm_hwaddr);
1245 1245
1246 pr_warning("%s: Warning: the hw address of slave %s is in use by the bond; giving it the hw address of %s\n", 1246 pr_warn("%s: Warning: the hw address of slave %s is in use by the bond; giving it the hw address of %s\n",
1247 bond->dev->name, slave->dev->name, 1247 bond->dev->name, slave->dev->name,
1248 free_mac_slave->dev->name); 1248 free_mac_slave->dev->name);
1249 1249
1250 } else if (has_bond_addr) { 1250 } else if (has_bond_addr) {
1251 pr_err("%s: Error: the hw address of slave %s is in use by the bond; couldn't find a slave with a free hw address to give it (this should not have happened)\n", 1251 pr_err("%s: Error: the hw address of slave %s is in use by the bond; couldn't find a slave with a free hw address to give it (this should not have happened)\n",
diff --git a/drivers/net/bonding/bond_debugfs.c b/drivers/net/bonding/bond_debugfs.c
index 5fc4c2351478..2d3f7fa541ff 100644
--- a/drivers/net/bonding/bond_debugfs.c
+++ b/drivers/net/bonding/bond_debugfs.c
@@ -69,7 +69,7 @@ void bond_debug_register(struct bonding *bond)
69 debugfs_create_dir(bond->dev->name, bonding_debug_root); 69 debugfs_create_dir(bond->dev->name, bonding_debug_root);
70 70
71 if (!bond->debug_dir) { 71 if (!bond->debug_dir) {
72 pr_warning("%s: Warning: failed to register to debugfs\n", 72 pr_warn("%s: Warning: failed to register to debugfs\n",
73 bond->dev->name); 73 bond->dev->name);
74 return; 74 return;
75 } 75 }
@@ -98,9 +98,8 @@ void bond_debug_reregister(struct bonding *bond)
98 if (d) { 98 if (d) {
99 bond->debug_dir = d; 99 bond->debug_dir = d;
100 } else { 100 } else {
101 pr_warning("%s: Warning: failed to reregister, " 101 pr_warn("%s: Warning: failed to reregister, so just unregister old one\n",
102 "so just unregister old one\n", 102 bond->dev->name);
103 bond->dev->name);
104 bond_debug_unregister(bond); 103 bond_debug_unregister(bond);
105 } 104 }
106} 105}
@@ -110,8 +109,7 @@ void bond_create_debugfs(void)
110 bonding_debug_root = debugfs_create_dir("bonding", NULL); 109 bonding_debug_root = debugfs_create_dir("bonding", NULL);
111 110
112 if (!bonding_debug_root) { 111 if (!bonding_debug_root) {
113 pr_warning("Warning: Cannot create bonding directory" 112 pr_warn("Warning: Cannot create bonding directory in debugfs\n");
114 " in debugfs\n");
115 } 113 }
116} 114}
117 115
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 58aa531d7850..1d4dfc9f649a 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1183,8 +1183,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
1183 if (!bond->params.use_carrier && 1183 if (!bond->params.use_carrier &&
1184 slave_dev->ethtool_ops->get_link == NULL && 1184 slave_dev->ethtool_ops->get_link == NULL &&
1185 slave_ops->ndo_do_ioctl == NULL) { 1185 slave_ops->ndo_do_ioctl == NULL) {
1186 pr_warning("%s: Warning: no link monitoring support for %s\n", 1186 pr_warn("%s: Warning: no link monitoring support for %s\n",
1187 bond_dev->name, slave_dev->name); 1187 bond_dev->name, slave_dev->name);
1188 } 1188 }
1189 1189
1190 /* already enslaved */ 1190 /* already enslaved */
@@ -1202,9 +1202,9 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
1202 bond_dev->name, slave_dev->name, bond_dev->name); 1202 bond_dev->name, slave_dev->name, bond_dev->name);
1203 return -EPERM; 1203 return -EPERM;
1204 } else { 1204 } else {
1205 pr_warning("%s: Warning: enslaved VLAN challenged slave %s. Adding VLANs will be blocked as long as %s is part of bond %s\n", 1205 pr_warn("%s: Warning: enslaved VLAN challenged slave %s. Adding VLANs will be blocked as long as %s is part of bond %s\n",
1206 bond_dev->name, slave_dev->name, 1206 bond_dev->name, slave_dev->name,
1207 slave_dev->name, bond_dev->name); 1207 slave_dev->name, bond_dev->name);
1208 } 1208 }
1209 } else { 1209 } else {
1210 pr_debug("%s: ! NETIF_F_VLAN_CHALLENGED\n", slave_dev->name); 1210 pr_debug("%s: ! NETIF_F_VLAN_CHALLENGED\n", slave_dev->name);
@@ -1419,12 +1419,12 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
1419 * supported); thus, we don't need to change 1419 * supported); thus, we don't need to change
1420 * the messages for netif_carrier. 1420 * the messages for netif_carrier.
1421 */ 1421 */
1422 pr_warning("%s: Warning: MII and ETHTOOL support not available for interface %s, and arp_interval/arp_ip_target module parameters not specified, thus bonding will not detect link failures! see bonding.txt for details.\n", 1422 pr_warn("%s: Warning: MII and ETHTOOL support not available for interface %s, and arp_interval/arp_ip_target module parameters not specified, thus bonding will not detect link failures! see bonding.txt for details\n",
1423 bond_dev->name, slave_dev->name); 1423 bond_dev->name, slave_dev->name);
1424 } else if (link_reporting == -1) { 1424 } else if (link_reporting == -1) {
1425 /* unable get link status using mii/ethtool */ 1425 /* unable get link status using mii/ethtool */
1426 pr_warning("%s: Warning: can't get link status from interface %s; the network driver associated with this interface does not support MII or ETHTOOL link status reporting, thus miimon has no effect on this interface.\n", 1426 pr_warn("%s: Warning: can't get link status from interface %s; the network driver associated with this interface does not support MII or ETHTOOL link status reporting, thus miimon has no effect on this interface\n",
1427 bond_dev->name, slave_dev->name); 1427 bond_dev->name, slave_dev->name);
1428 } 1428 }
1429 } 1429 }
1430 1430
@@ -1725,10 +1725,10 @@ static int __bond_release_one(struct net_device *bond_dev,
1725 eth_hw_addr_random(bond_dev); 1725 eth_hw_addr_random(bond_dev);
1726 1726
1727 if (vlan_uses_dev(bond_dev)) { 1727 if (vlan_uses_dev(bond_dev)) {
1728 pr_warning("%s: Warning: clearing HW address of %s while it still has VLANs.\n", 1728 pr_warn("%s: Warning: clearing HW address of %s while it still has VLANs\n",
1729 bond_dev->name, bond_dev->name); 1729 bond_dev->name, bond_dev->name);
1730 pr_warning("%s: When re-adding slaves, make sure the bond's HW address matches its VLANs'.\n", 1730 pr_warn("%s: When re-adding slaves, make sure the bond's HW address matches its VLANs\n",
1731 bond_dev->name); 1731 bond_dev->name);
1732 } 1732 }
1733 } 1733 }
1734 1734
@@ -4046,74 +4046,71 @@ static int bond_check_params(struct bond_params *params)
4046 } 4046 }
4047 params->ad_select = valptr->value; 4047 params->ad_select = valptr->value;
4048 if (bond_mode != BOND_MODE_8023AD) 4048 if (bond_mode != BOND_MODE_8023AD)
4049 pr_warning("ad_select param only affects 802.3ad mode\n"); 4049 pr_warn("ad_select param only affects 802.3ad mode\n");
4050 } else { 4050 } else {
4051 params->ad_select = BOND_AD_STABLE; 4051 params->ad_select = BOND_AD_STABLE;
4052 } 4052 }
4053 4053
4054 if (max_bonds < 0) { 4054 if (max_bonds < 0) {
4055 pr_warning("Warning: max_bonds (%d) not in range %d-%d, so it was reset to BOND_DEFAULT_MAX_BONDS (%d)\n", 4055 pr_warn("Warning: max_bonds (%d) not in range %d-%d, so it was reset to BOND_DEFAULT_MAX_BONDS (%d)\n",
4056 max_bonds, 0, INT_MAX, BOND_DEFAULT_MAX_BONDS); 4056 max_bonds, 0, INT_MAX, BOND_DEFAULT_MAX_BONDS);
4057 max_bonds = BOND_DEFAULT_MAX_BONDS; 4057 max_bonds = BOND_DEFAULT_MAX_BONDS;
4058 } 4058 }
4059 4059
4060 if (miimon < 0) { 4060 if (miimon < 0) {
4061 pr_warning("Warning: miimon module parameter (%d), not in range 0-%d, so it was reset to 0\n", 4061 pr_warn("Warning: miimon module parameter (%d), not in range 0-%d, so it was reset to 0\n",
4062 miimon, INT_MAX); 4062 miimon, INT_MAX);
4063 miimon = 0; 4063 miimon = 0;
4064 } 4064 }
4065 4065
4066 if (updelay < 0) { 4066 if (updelay < 0) {
4067 pr_warning("Warning: updelay module parameter (%d), not in range 0-%d, so it was reset to 0\n", 4067 pr_warn("Warning: updelay module parameter (%d), not in range 0-%d, so it was reset to 0\n",
4068 updelay, INT_MAX); 4068 updelay, INT_MAX);
4069 updelay = 0; 4069 updelay = 0;
4070 } 4070 }
4071 4071
4072 if (downdelay < 0) { 4072 if (downdelay < 0) {
4073 pr_warning("Warning: downdelay module parameter (%d), not in range 0-%d, so it was reset to 0\n", 4073 pr_warn("Warning: downdelay module parameter (%d), not in range 0-%d, so it was reset to 0\n",
4074 downdelay, INT_MAX); 4074 downdelay, INT_MAX);
4075 downdelay = 0; 4075 downdelay = 0;
4076 } 4076 }
4077 4077
4078 if ((use_carrier != 0) && (use_carrier != 1)) { 4078 if ((use_carrier != 0) && (use_carrier != 1)) {
4079 pr_warning("Warning: use_carrier module parameter (%d), not of valid value (0/1), so it was set to 1\n", 4079 pr_warn("Warning: use_carrier module parameter (%d), not of valid value (0/1), so it was set to 1\n",
4080 use_carrier); 4080 use_carrier);
4081 use_carrier = 1; 4081 use_carrier = 1;
4082 } 4082 }
4083 4083
4084 if (num_peer_notif < 0 || num_peer_notif > 255) { 4084 if (num_peer_notif < 0 || num_peer_notif > 255) {
4085 pr_warning("Warning: num_grat_arp/num_unsol_na (%d) not in range 0-255 so it was reset to 1\n", 4085 pr_warn("Warning: num_grat_arp/num_unsol_na (%d) not in range 0-255 so it was reset to 1\n",
4086 num_peer_notif); 4086 num_peer_notif);
4087 num_peer_notif = 1; 4087 num_peer_notif = 1;
4088 } 4088 }
4089 4089
4090 /* reset values for 802.3ad/TLB/ALB */ 4090 /* reset values for 802.3ad/TLB/ALB */
4091 if (BOND_NO_USES_ARP(bond_mode)) { 4091 if (BOND_NO_USES_ARP(bond_mode)) {
4092 if (!miimon) { 4092 if (!miimon) {
4093 pr_warning("Warning: miimon must be specified, otherwise bonding will not detect link failure, speed and duplex which are essential for 802.3ad operation\n"); 4093 pr_warn("Warning: miimon must be specified, otherwise bonding will not detect link failure, speed and duplex which are essential for 802.3ad operation\n");
4094 pr_warning("Forcing miimon to 100msec\n"); 4094 pr_warn("Forcing miimon to 100msec\n");
4095 miimon = BOND_DEFAULT_MIIMON; 4095 miimon = BOND_DEFAULT_MIIMON;
4096 } 4096 }
4097 } 4097 }
4098 4098
4099 if (tx_queues < 1 || tx_queues > 255) { 4099 if (tx_queues < 1 || tx_queues > 255) {
4100 pr_warning("Warning: tx_queues (%d) should be between " 4100 pr_warn("Warning: tx_queues (%d) should be between 1 and 255, resetting to %d\n",
4101 "1 and 255, resetting to %d\n", 4101 tx_queues, BOND_DEFAULT_TX_QUEUES);
4102 tx_queues, BOND_DEFAULT_TX_QUEUES);
4103 tx_queues = BOND_DEFAULT_TX_QUEUES; 4102 tx_queues = BOND_DEFAULT_TX_QUEUES;
4104 } 4103 }
4105 4104
4106 if ((all_slaves_active != 0) && (all_slaves_active != 1)) { 4105 if ((all_slaves_active != 0) && (all_slaves_active != 1)) {
4107 pr_warning("Warning: all_slaves_active module parameter (%d), " 4106 pr_warn("Warning: all_slaves_active module parameter (%d), not of valid value (0/1), so it was set to 0\n",
4108 "not of valid value (0/1), so it was set to " 4107 all_slaves_active);
4109 "0\n", all_slaves_active);
4110 all_slaves_active = 0; 4108 all_slaves_active = 0;
4111 } 4109 }
4112 4110
4113 if (resend_igmp < 0 || resend_igmp > 255) { 4111 if (resend_igmp < 0 || resend_igmp > 255) {
4114 pr_warning("Warning: resend_igmp (%d) should be between " 4112 pr_warn("Warning: resend_igmp (%d) should be between 0 and 255, resetting to %d\n",
4115 "0 and 255, resetting to %d\n", 4113 resend_igmp, BOND_DEFAULT_RESEND_IGMP);
4116 resend_igmp, BOND_DEFAULT_RESEND_IGMP);
4117 resend_igmp = BOND_DEFAULT_RESEND_IGMP; 4114 resend_igmp = BOND_DEFAULT_RESEND_IGMP;
4118 } 4115 }
4119 4116
@@ -4134,37 +4131,36 @@ static int bond_check_params(struct bond_params *params)
4134 /* just warn the user the up/down delay will have 4131 /* just warn the user the up/down delay will have
4135 * no effect since miimon is zero... 4132 * no effect since miimon is zero...
4136 */ 4133 */
4137 pr_warning("Warning: miimon module parameter not set and updelay (%d) or downdelay (%d) module parameter is set; updelay and downdelay have no effect unless miimon is set\n", 4134 pr_warn("Warning: miimon module parameter not set and updelay (%d) or downdelay (%d) module parameter is set; updelay and downdelay have no effect unless miimon is set\n",
4138 updelay, downdelay); 4135 updelay, downdelay);
4139 } 4136 }
4140 } else { 4137 } else {
4141 /* don't allow arp monitoring */ 4138 /* don't allow arp monitoring */
4142 if (arp_interval) { 4139 if (arp_interval) {
4143 pr_warning("Warning: miimon (%d) and arp_interval (%d) can't be used simultaneously, disabling ARP monitoring\n", 4140 pr_warn("Warning: miimon (%d) and arp_interval (%d) can't be used simultaneously, disabling ARP monitoring\n",
4144 miimon, arp_interval); 4141 miimon, arp_interval);
4145 arp_interval = 0; 4142 arp_interval = 0;
4146 } 4143 }
4147 4144
4148 if ((updelay % miimon) != 0) { 4145 if ((updelay % miimon) != 0) {
4149 pr_warning("Warning: updelay (%d) is not a multiple of miimon (%d), updelay rounded to %d ms\n", 4146 pr_warn("Warning: updelay (%d) is not a multiple of miimon (%d), updelay rounded to %d ms\n",
4150 updelay, miimon, 4147 updelay, miimon, (updelay / miimon) * miimon);
4151 (updelay / miimon) * miimon);
4152 } 4148 }
4153 4149
4154 updelay /= miimon; 4150 updelay /= miimon;
4155 4151
4156 if ((downdelay % miimon) != 0) { 4152 if ((downdelay % miimon) != 0) {
4157 pr_warning("Warning: downdelay (%d) is not a multiple of miimon (%d), downdelay rounded to %d ms\n", 4153 pr_warn("Warning: downdelay (%d) is not a multiple of miimon (%d), downdelay rounded to %d ms\n",
4158 downdelay, miimon, 4154 downdelay, miimon,
4159 (downdelay / miimon) * miimon); 4155 (downdelay / miimon) * miimon);
4160 } 4156 }
4161 4157
4162 downdelay /= miimon; 4158 downdelay /= miimon;
4163 } 4159 }
4164 4160
4165 if (arp_interval < 0) { 4161 if (arp_interval < 0) {
4166 pr_warning("Warning: arp_interval module parameter (%d) , not in range 0-%d, so it was reset to 0\n", 4162 pr_warn("Warning: arp_interval module parameter (%d), not in range 0-%d, so it was reset to 0\n",
4167 arp_interval, INT_MAX); 4163 arp_interval, INT_MAX);
4168 arp_interval = 0; 4164 arp_interval = 0;
4169 } 4165 }
4170 4166
@@ -4175,22 +4171,22 @@ static int bond_check_params(struct bond_params *params)
4175 __be32 ip; 4171 __be32 ip;
4176 if (!in4_pton(arp_ip_target[i], -1, (u8 *)&ip, -1, NULL) || 4172 if (!in4_pton(arp_ip_target[i], -1, (u8 *)&ip, -1, NULL) ||
4177 IS_IP_TARGET_UNUSABLE_ADDRESS(ip)) { 4173 IS_IP_TARGET_UNUSABLE_ADDRESS(ip)) {
4178 pr_warning("Warning: bad arp_ip_target module parameter (%s), ARP monitoring will not be performed\n", 4174 pr_warn("Warning: bad arp_ip_target module parameter (%s), ARP monitoring will not be performed\n",
4179 arp_ip_target[i]); 4175 arp_ip_target[i]);
4180 arp_interval = 0; 4176 arp_interval = 0;
4181 } else { 4177 } else {
4182 if (bond_get_targets_ip(arp_target, ip) == -1) 4178 if (bond_get_targets_ip(arp_target, ip) == -1)
4183 arp_target[arp_ip_count++] = ip; 4179 arp_target[arp_ip_count++] = ip;
4184 else 4180 else
4185 pr_warning("Warning: duplicate address %pI4 in arp_ip_target, skipping\n", 4181 pr_warn("Warning: duplicate address %pI4 in arp_ip_target, skipping\n",
4186 &ip); 4182 &ip);
4187 } 4183 }
4188 } 4184 }
4189 4185
4190 if (arp_interval && !arp_ip_count) { 4186 if (arp_interval && !arp_ip_count) {
4191 /* don't allow arping if no arp_ip_target given... */ 4187 /* don't allow arping if no arp_ip_target given... */
4192 pr_warning("Warning: arp_interval module parameter (%d) specified without providing an arp_ip_target parameter, arp_interval was reset to 0\n", 4188 pr_warn("Warning: arp_interval module parameter (%d) specified without providing an arp_ip_target parameter, arp_interval was reset to 0\n",
4193 arp_interval); 4189 arp_interval);
4194 arp_interval = 0; 4190 arp_interval = 0;
4195 } 4191 }
4196 4192
@@ -4255,8 +4251,8 @@ static int bond_check_params(struct bond_params *params)
4255 /* currently, using a primary only makes sense 4251 /* currently, using a primary only makes sense
4256 * in active backup, TLB or ALB modes 4252 * in active backup, TLB or ALB modes
4257 */ 4253 */
4258 pr_warning("Warning: %s primary device specified but has no effect in %s mode\n", 4254 pr_warn("Warning: %s primary device specified but has no effect in %s mode\n",
4259 primary, bond_mode_name(bond_mode)); 4255 primary, bond_mode_name(bond_mode));
4260 primary = NULL; 4256 primary = NULL;
4261 } 4257 }
4262 4258
@@ -4285,14 +4281,14 @@ static int bond_check_params(struct bond_params *params)
4285 } 4281 }
4286 fail_over_mac_value = valptr->value; 4282 fail_over_mac_value = valptr->value;
4287 if (bond_mode != BOND_MODE_ACTIVEBACKUP) 4283 if (bond_mode != BOND_MODE_ACTIVEBACKUP)
4288 pr_warning("Warning: fail_over_mac only affects active-backup mode.\n"); 4284 pr_warn("Warning: fail_over_mac only affects active-backup mode\n");
4289 } else { 4285 } else {
4290 fail_over_mac_value = BOND_FOM_NONE; 4286 fail_over_mac_value = BOND_FOM_NONE;
4291 } 4287 }
4292 4288
4293 if (lp_interval == 0) { 4289 if (lp_interval == 0) {
4294 pr_warning("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n", 4290 pr_warn("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n",
4295 INT_MAX, BOND_ALB_DEFAULT_LP_INTERVAL); 4291 INT_MAX, BOND_ALB_DEFAULT_LP_INTERVAL);
4296 lp_interval = BOND_ALB_DEFAULT_LP_INTERVAL; 4292 lp_interval = BOND_ALB_DEFAULT_LP_INTERVAL;
4297 } 4293 }
4298 4294
diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c
index 3ac20e78eafc..f86fcc796757 100644
--- a/drivers/net/bonding/bond_procfs.c
+++ b/drivers/net/bonding/bond_procfs.c
@@ -254,8 +254,8 @@ void bond_create_proc_entry(struct bonding *bond)
254 S_IRUGO, bn->proc_dir, 254 S_IRUGO, bn->proc_dir,
255 &bond_info_fops, bond); 255 &bond_info_fops, bond);
256 if (bond->proc_entry == NULL) 256 if (bond->proc_entry == NULL)
257 pr_warning("Warning: Cannot create /proc/net/%s/%s\n", 257 pr_warn("Warning: Cannot create /proc/net/%s/%s\n",
258 DRV_NAME, bond_dev->name); 258 DRV_NAME, bond_dev->name);
259 else 259 else
260 memcpy(bond->proc_file_name, bond_dev->name, IFNAMSIZ); 260 memcpy(bond->proc_file_name, bond_dev->name, IFNAMSIZ);
261 } 261 }
@@ -281,8 +281,8 @@ void __net_init bond_create_proc_dir(struct bond_net *bn)
281 if (!bn->proc_dir) { 281 if (!bn->proc_dir) {
282 bn->proc_dir = proc_mkdir(DRV_NAME, bn->net->proc_net); 282 bn->proc_dir = proc_mkdir(DRV_NAME, bn->net->proc_net);
283 if (!bn->proc_dir) 283 if (!bn->proc_dir)
284 pr_warning("Warning: cannot create /proc/net/%s\n", 284 pr_warn("Warning: cannot create /proc/net/%s\n",
285 DRV_NAME); 285 DRV_NAME);
286 } 286 }
287} 287}
288 288