[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0f22133f-2eda-4cc9-9ac3-002a067c986e@redhat.com>
Date: Tue, 3 Jun 2025 13:25:18 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: David J Wilder <wilder@...ibm.com>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2 0/4] bonding: Extend arp_ip_target format to
allow for a list of vlan tags.
On 6/3/25 5:51 AM, David J Wilder wrote:
> The current implementation of the arp monitor builds a list of vlan-tags by
> following the chain of net_devices above the bond. See: bond_verify_device_path().
> Unfortunately with some configurations this is not possible. One example is
> when an ovs switch is configured above the bond.
>
> This change extends the "arp_ip_target" parameter format to allow for a list of
> vlan tags to be included for each arp target. This new list of tags is optional
> and may be omitted to preserve the current format and process of gathering tags.
> When provided the list of tags circumvents the process of gathering tags by
> using the supplied list. An empty list can be provided to simply skip the the
> process of gathering tags.
>
> The new optional format for arp_ip_target is:
> arp_ip_target=ipv4-address[vlan-tag\...],...
>
> Examples:
> arp_ip_target=10.0.0.1,10.0.0.2 (Determine tags automatically for both targets)
> arp_ip_target=10.0.0.1[] (Don't add any tags, don't gather tags)
> arp_ip_target=10.0.0.1[100/200] (Don't gather tags, use supplied list of tags)
> arp_ip_target=10.0.0.1,10.0.0.2[100] (add vlan 100 tag for 10.0.0.2.
> Gather tags for 10.0.0.1.)
>
> This set of patches updates the arp_ip_target functionality.
>
> This new functional is yet to be included to the ns_ip6_target feature.
>
> The iprout2 package will also need to be updated with the following change:
>
>
> diff --git a/ip/iplink_bond.c b/ip/iplink_bond.c
> index 19af67d0..b599cbae 100644
> --- a/ip/iplink_bond.c
> +++ b/ip/iplink_bond.c
> @@ -242,9 +242,7 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
> int i;
>
> for (i = 0; target && i < BOND_MAX_ARP_TARGETS; i++) {
> - __u32 addr = get_addr32(target);
> -
> - addattr32(n, 1024, i, addr);
> + addattrstrz(n, 1024, i, target);
> target = strtok(NULL, ",");
> }
> addattr_nest_end(n, nest);
>
> Signed-off-by: David J Wilder <wilder@...ibm.com>
## Form letter - net-next-closed
The merge window for v6.16 has begun and therefore net-next is closed
for new drivers, features, code refactoring and optimizations. We are
currently accepting bug fixes only.
Please repost when net-next reopens after June 8th.
RFC patches sent for review only are obviously welcome at any time.
Powered by blists - more mailing lists