[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <54E48AF7.3000403@redhat.com>
Date: Wed, 18 Feb 2015 13:52:07 +0100
From: Nikolay Aleksandrov <nikolay@...hat.com>
To: Mahesh Bandewar <maheshb@...gle.com>,
Jay Vosburgh <j.vosburgh@...il.com>,
Andy Gospodarek <andy@...yhouse.net>,
Veaceslav Falico <vfalico@...il.com>,
David Miller <davem@...emloft.net>
CC: Maciej Zenczykowski <maze@...gle.com>,
netdev <netdev@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [PATCH next v4 5/6] bonding: Allow userspace to set actors' macaddr
in an AD-system.
On 02/18/2015 08:17 AM, Mahesh Bandewar wrote:
> In an AD system, the communication between actor and partner is the
> business between these two entities. In the current setup anyone on the
> same L2 can "guess" the LACPDU contents and then possibly send the
> spoofed LACPDUs and trick the partner causing connectivity issues for
> the AD system. This patch allows to use a random mac-address obscuring
> it's identity making it harder for someone in the L2 is do the same thing.
>
> This patch allows user-space to choose the mac-address for the AD-system.
> This mac-address can not be NULL or a Multicast. If the mac-address is set
> from user-space; kernel will honor it and will not overwrite it. In the
> absence (value from user space); the logic will default to using the
> masters' mac as the mac-address for the AD-system.
>
> It can be set using example code below -
>
> # modprobe bonding mode=4
> # sys_mac_addr=$(printf '%02x:%02x:%02x:%02x:%02x:%02x' \
> $(( (RANDOM & 0xFE) | 0x02 )) \
> $(( RANDOM & 0xFF )) \
> $(( RANDOM & 0xFF )) \
> $(( RANDOM & 0xFF )) \
> $(( RANDOM & 0xFF )) \
> $(( RANDOM & 0xFF )))
> # echo $sys_mac_addr > /sys/class/net/bond0/bonding/ad_actor_system
> # echo +eth1 > /sys/class/net/bond0/bonding/slaves
> ...
> # ip link set bond0 up
>
> Signed-off-by: Mahesh Bandewar <maheshb@...gle.com>
> ---
> v1:
> Initial version
> v2:
> Renamed ad_actor_system_mac_address to ad_actor_system
> v3:
> Fixed commit message.
> v4:
> Rebase
>
> Documentation/networking/bonding.txt | 12 ++++++++++++
> drivers/net/bonding/bond_3ad.c | 7 ++++++-
> drivers/net/bonding/bond_main.c | 1 +
> drivers/net/bonding/bond_options.c | 29 +++++++++++++++++++++++++++++
> drivers/net/bonding/bond_procfs.c | 6 ++++++
> drivers/net/bonding/bond_sysfs.c | 15 +++++++++++++++
> include/net/bond_options.h | 1 +
> include/net/bonding.h | 1 +
> 8 files changed, 71 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
> index f19d888651b8..f0d93c58cdb0 100644
> --- a/Documentation/networking/bonding.txt
> +++ b/Documentation/networking/bonding.txt
> @@ -187,6 +187,18 @@ ad_actor_sys_prio
> This paramter has effect only in 802.3ad mode and is available through
> SysFs interface.
>
> +ad_actor_system
> +
> + In an AD system, this specifies the mac-address for the actor in
> + protocol packet exchanges (LACPDUs). The value cannot be NULL or
> + multicast. It is preferred to have the local-admin bit set for this
> + mac but driver does not enforce it. If the value is not given then
> + system defaults to using the masters' mac address as actors' system
> + address.
> +
> + This paramter has effect only in 802.3ad mode and is available through
s/paramter/parameter/
> + SysFs interface.
> +
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists