bonding: add ip checks when store ip target
authorWang Weidong <wangweidong1@huawei.com>
Fri, 15 Nov 2013 15:34:30 +0000 (10:34 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Nov 2013 22:44:43 +0000 (17:44 -0500)
commitf9de11a165943a55e0fbda714caf60eaeb276a42
tree794f837d6f53a0b096c8c31aa1f867a1ecf0edcb
parent1188f05497e7bd2f2614b99c54adfbe7413d5749
bonding: add ip checks when store ip target

I met a Bug when I add ip target with the wrong ip address:

echo +500.500.500.500 > /sys/class/net/bond0/bonding/arp_ip_target

the wrong ip address will transfor to 245.245.245.244 and add
to the ip target success, it is uncorrect, so I add checks to avoid
adding wrong address.

The in4_pton() will set wrong ip address to 0.0.0.0, it will return by
the next check and will not add to ip target.

v2
According Veaceslav's opinion, simplify the code.

v3
According Veaceslav's opinion, add broadcast check and make a micro
definition to package it.

v4
Solve the problem of the format which David point out.

Suggested-by: Veaceslav Falico <vfalico@redhat.com>
Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_sysfs.c
drivers/net/bonding/bonding.h