Re: [PATCH] bonding: 3ad: update slave arr after initialize

2021-04-19 Thread Jay Vosburgh
t;> return of ad_agg_selection_logic). >> >> I believe I understand the described problem, but I don't see >> how the patch fixes it. I suspect (but haven't tested) that the proper >> fix is to acquire mode_lock in bond_update_slave_arr while ca

Re: [PATCH] bonding: 3ad: update slave arr after initialize

2021-04-15 Thread Jay Vosburgh
update_slave_arr remains false at return of ad_agg_selection_logic). I believe I understand the described problem, but I don't see how the patch fixes it. I suspect (but haven't tested) that the proper fix is to acquire mode_lock in bond_update_slave_arr while calling bond_3ad_get_active_agg_info to avoid conflict with the state machine. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [RESEND net-next 2/4] net: bonding: remove repeated word

2021-03-30 Thread Jay Vosburgh
address. >+ * We'll make sure that slave no longer uses @slave's permanent address. This is actually correct as written, but I can see that it's a bit confusing. Rather than removing the second that, I'd suggest changing it to "... make sure the other slave no longer uses ..." to be clearer. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [RFC PATCH net] bonding: Work around lockdep_is_held false positives

2021-03-23 Thread Jay Vosburgh
The code in question was added by: commit ee6377147409a00c071b2da853059a7d59979fbc Author: Mahesh Bandewar Date: Sat Oct 4 17:45:01 2014 -0700 bonding: Simplify the xmit function for modes that use xmit_hash Mahesh, Nikolay, any thoughts? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next] bonding: Added -ENODEV interpret for slaves option

2021-03-13 Thread Jay Vosburgh
uot;, >+ opt->name, val->string); >+ } >+ break; > default: > break; > } >-- >2.25.1 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] bonding: 3ad: fix a use-after-free in bond_3ad_state_machine_handle

2021-03-06 Thread Jay Vosburgh
for (port = aggregator->lag_ports; port; >+ port = port->next_port_in_aggregator) >+ if (port->aggregator == aggregator) >+ port->aggregator = NULL; > aggregator->lag_ports = NULL; > aggregator->is_active = 0; > aggregator->num_of_ports = 0; >-- >2.23.0 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next v2 0/3] bonding: 3ad: support for 200G/400G ports and more verbose warning

2021-02-10 Thread Jay Vosburgh
ve been one patch, I suppose, but not really a big deal. I'm in agreement about pr_err_once instead of WARN_ONCE. Acked-by: Jay Vosburgh -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

[PATCH net] Documentation: networking: ip-sysctl: Document src_valid_mark sysctl

2021-02-08 Thread Jay Vosburgh
Provide documentation for src_valid_mark sysctl, which was added in commit 28f6aeea3f12 ("net: restore ip source validation"). Signed-off-by: Jay Vosburgh --- Documentation/networking/ip-sysctl.rst | 19 +++ 1 file changed, 19 insertions(+) diff --git a/Doc

Re: [PATCH net v2]bonding: check port and aggregator when select

2021-02-02 Thread Jay Vosburgh
tion logic has failed to find an aggregator that matches, and also failed to find a free aggregator. I do need to fix up the failure handling here when it hits the "did not find a suitable agg" case; the code here is simply wrong, and has been wrong since the beginning. I'll hack the driver to induce this situation rather than reproducing whatever problem is making it unable to find a suitable aggregator. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: question about bonding mode 4

2021-01-29 Thread Jay Vosburgh
)); >> >> analysis: port->aggregator is still NULL, which causes problem. >> >> aggregator = __get_first_agg(port); >> ad_agg_selection_logic(aggregator, update_slave_arr); >> >> if (!port->aggregator->is_active) >> port->actor_oper_port_state &= ~LACP_STATE_SYNCHRONIZATION; Correct, if the "did not find a suitable aggregator" path is taken, port->aggregator is NULL and bad things happen in the above block. This is something that needs to be fixed, but I'm also concerned that there are other issues lurking, so I'd like to be able to reproduce this. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next v2] bonding: add a vlan+mac tx hashing option

2021-01-14 Thread Jay Vosburgh
ted by copying bond_eth_hash(). :) > >> > +{ >> > + struct ethhdr *mac_hdr = (struct ethhdr *)skb_mac_header(skb); >> >> I don't see anything in the patch making sure the interface actually >> has a L2 header. Should we validate somehow the ifc is Ethernet? > >I don't think it's necessary. There doesn't appear to be any explicit >check for BOND_XMIT_POLICY_LAYER2 either. I believe we're guaranteed to >not have anything but an ethernet header here, as the only other type I'm >aware of being supported is Infiniband, but we limit that to active-backup >only, and xmit_hash_policy isn't valid for active-backup. This is correct, interfaces in a bond other than active-backup will all be ARPHRD_ETHER. I'm unaware of a way to get a packet in there without at least an Ethernet header. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH v6 net-next 14/15] net: bonding: ensure .ndo_get_stats64 can sleep

2021-01-12 Thread Jay Vosburgh
he number of slaves is generally small (more than 2 is uncommon in my experience). >> On the other hand, what's the worst that can happen if the GFP_ATOMIC >> memory allocation fails. It's not like there is any data loss. >> User space will retry when there is less me

Re: [RFC PATCH net-next] bonding: add a vlan+srcmac tx hashing option

2021-01-12 Thread Jay Vosburgh
Jarod Wilson wrote: >On Thu, Jan 07, 2021 at 07:03:40PM -0500, Jarod Wilson wrote: >> On Fri, Dec 18, 2020 at 04:18:59PM -0800, Jay Vosburgh wrote: >> > Jarod Wilson wrote: >> > >> > >This comes from an end-user request, where they're running multip

Re: bonding driver issue when configured for active/backup and using ARP monitoring

2021-01-04 Thread Jay Vosburgh
x27;t go through the bond. The ARP monitor logic can only handle a limited set of configurations, so if your configuration is outside of that it can misbehave in some ways. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [RFC PATCH net-next] bonding: add a vlan+srcmac tx hashing option

2020-12-18 Thread Jay Vosburgh
oks sane to begin with, is >fleshing out Documentation/networking/bonding.rst. I'm sure you're aware, but any final submission will also need to include netlink and iproute2 support. >Cc: Jay Vosburgh >Cc: Veaceslav Falico >Cc: Andy Gospodarek >Cc: "David

Re: [PATCH net-next] bonding: correct rr balancing during link failure

2020-12-08 Thread Jay Vosburgh
+; >> } >> } >> >> @@ -4117,6 +4118,7 @@ static struct slave *bond_get_slave_by_id(struct >> bonding *bond, >> break; >> if (bond_slave_can_tx(slave)) >> return slave; >> +bond->rr_tx_counter++; >> } >> /* no slave that can tx has been found */ >> return NULL; > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net] bonding: reduce rtnl lock contention in mii monitor thread

2020-12-08 Thread Jay Vosburgh
gt;+ "active " : "backup ") : "", >+ bond->params.downdelay * >bond->params.miimon); >+ } >+ break; >+ >+ case BOND_LINK_DOWN: >+ slave_info(bond->dev, slave->dev, "link status down again after >%d ms\n", >+ (bond->params.updelay - slave->delay) * >+ bond->params.miimon); >+ break; >+ >+ case BOND_LINK_BACK: >+ if (slave->delay) { >+ slave_info(bond->dev, slave->dev, "link status up, >enabling it in %d ms\n", >+ bond->params.updelay * bond->params.miimon); >+ } >+ break; >+ } >+ > if (notify) { > bond_queue_slave_event(slave); > bond_lower_state_changed(slave); >-- >2.28.0 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: bonding driver issue when configured for active/backup and using ARP monitoring

2020-12-04 Thread Jay Vosburgh
C (and others) have no idea what the dev is, it is not >possible to ignore the event nor should it be ignored. It therefore seems >the event shouldn't be sent for this situation. Please confirm the >analysis above and provide a path forward since as currently implemented >the functionality is broken. As I said above, I don't think it's just about notifications. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH v3 net-next 1/4] net: bonding: Notify ports about their initial state

2020-12-02 Thread Jay Vosburgh
Tobias Waldekranz wrote: >On Wed, Dec 02, 2020 at 11:09, Jay Vosburgh wrote: >> Tobias Waldekranz wrote: >> >>>When creating a static bond (e.g. balance-xor), all ports will always >>>be enabled. This is set, and the corresponding notification is sent >>

Re: [PATCH net v2] bonding: fix feature flag setting at init time

2020-12-02 Thread Jay Vosburgh
Jarod Wilson wrote: >On Wed, Dec 2, 2020 at 12:55 PM Jay Vosburgh >wrote: >> >> Jarod Wilson wrote: >> >> >Don't try to adjust XFRM support flags if the bond device isn't yet >> >registered. Bad things can currently happen when n

Re: [PATCH v3 net-next 1/4] net: bonding: Notify ports about their initial state

2020-12-02 Thread Jay Vosburgh
ond_lower_state_changed(new_slave); >+ > res = bond_sysfs_slave_add(new_slave); > if (res) { > slave_dbg(bond_dev, slave_dev, "Error %d calling > bond_sysfs_slave_add\n", res); >-- >2.17.1 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net v2] bonding: fix feature flag setting at init time

2020-12-02 Thread Jay Vosburgh
hanged. > >v2: rework based on further testing and suggestions from ivecera > >Fixes: a3b658cfb664 ("bonding: allow xfrm offload setup post-module-load") >Reported-by: Ivan Vecera >Suggested-by: Ivan Vecera >Cc: Jay Vosburgh >Cc: Veaceslav Falico >Cc: Andy Gospodarek

Re: [PATCH net-next 1/4] net: bonding: Notify ports about their initial state

2020-11-19 Thread Jay Vosburgh
t;, res); Would it be better to add this call further down, after all possible failures have been checked? I.e., if this new call to bond_lower_state_changed() completes, and then very soon afterwards the upper is unlinked, could that cause any issues? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH 2/5] bonding: replace use of the term master where possible

2020-11-11 Thread Jay Vosburgh
Jarod Wilson wrote: >Simply refer to what was the bonding "master" as the "bond" or bonding >device, depending on context. However, do retain compat code for the >bonding_masters sysfs interface to avoid breaking userspace. > >Cc: Jay Vosburgh >Cc: Veace

Re: [PATCH net-next v4 0/5] bonding: rename bond components

2020-11-11 Thread Jay Vosburgh
ces entirely >untouched, but update documentation to reference their deprecated >nature, explain the name changes, add references to NetworkManager, >include more netlink/iproute2 examples and make note of netlink >being the preferred interface for userspace interaction with bonds. >

Re: [PATCH v2] net: bonding: alb disable balance for IPv6 multicast related mac

2020-11-08 Thread Jay Vosburgh
ad, so outgoing traffic will migrate from one bond port to another from time to time. It's unclear to me how the described topology that's broken by the multicast traffic being TX balanced is not also broken by the alb TX side rebalances. -J >The way the comparison is written now it does a single 64bit comparison >per address, so it's the same number of instructions to compare the top >two bytes or two full addresses. --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] net: bonding: alb disable balance for IPv6 multicast related mac

2020-10-28 Thread Jay Vosburgh
* >+ * Return true if the address is a multicast for IPv6. >+ */ >+static inline bool is_ipv6_multicast_ether_addr(const u8 *addr) >+{ >+ return (addr[0] & addr[1]) == 0x33; >+} I don't think this does what is intended. It will return true for a MAC that starts with any two values whose bitwise AND is 0x33, e.g., 0x73 0x3b. For IPv6 multicast, the first two octets of the MAC must be exactly 0x33 0x33. -J >+ >+/** > * is_valid_ether_addr - Determine if the given Ethernet address is valid > * @addr: Pointer to a six-byte array containing the Ethernet address > * >-- >1.8.3.1 --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] net: bonding: alb disable balance for IPv6 multicast related mac

2020-10-28 Thread Jay Vosburgh
LIU Yulong wrote: >Hi Jay, > > > >Thank you for your response and review. Please see my inline comments. I'm still reviewing your commentary, but to answer your final question regarding updating the patch, you'll need to repost the entire patch (with the new changes). This repost shoul

Re: [PATCH net-next v2 6/6] bonding: make Kconfig toggle to disable legacy interfaces

2020-10-05 Thread Jay Vosburgh
one step than a piecemeal addition and removal from the existing UAPI. That makes for a much clearer flag day event for end users. By this I mean leave proc / sysfs as-is today, and then after a suitable deprecation period, remove it wholesale (rather than a compile time option). -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next 4/5] bonding: make Kconfig toggle to disable legacy interfaces

2020-09-24 Thread Jay Vosburgh
Jarod Wilson wrote: >On Tue, Sep 22, 2020 at 8:01 PM Stephen Hemminger > wrote: >> >> On Tue, 22 Sep 2020 16:47:07 -0700 >> Jay Vosburgh wrote: >> >> > Stephen Hemminger wrote: >> > >> > >On Tue, 22 Sep 2020 09:37:30 -0400 >> &

Re: [PATCH net-next 4/5] bonding: make Kconfig toggle to disable legacy interfaces

2020-09-22 Thread Jay Vosburgh
enable, and enabling will break the UAPI? >Then you might convince maintainers to update documentation as well. >Last I checked there were still references to ifenslave. Distros still include ifenslave, but it's now a shell script that uses sysfs. I see it used in scripts from time to time. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next 0/5] bonding: rename bond components

2020-09-22 Thread Jay Vosburgh
. As far >as I can tell, there is no breakage of existing interfaces with this >set, unless the user consciously opts to do so via Kconfig. > >Jarod Wilson (5): > bonding: rename struct slave member link to link_state > bonding: rename slave to link where possible > bondin

Re: [PATCH net] bonding: show saner speed for broadcast mode

2020-08-12 Thread Jay Vosburgh
owest" here? >Also, the type of the speed field is u32, not unsigned long, so adjust >that accordingly, as required to make min() function here without >complaining about mismatching types. > >Fixes: bb5b052f751b ("bond: add support to read speed and duplex via ethtool

Re: [PATCH] docs: networking: bonding.rst resources section cleanup

2020-08-12 Thread Jay Vosburgh
Nivedita Singhvi wrote: >Removed obsolete resources from bonding.rst doc: > - bonding-de...@lists.sourceforge.net hasn't been used since 2008 > - admin interface is 404 > - Donald Becker's domain/content no longer online > >Signed-off-by: Nivedita Sing

Re: Bonding driver unexpected behaviour

2020-07-16 Thread Jay Vosburgh
have not tested or have familiarity with users using IP tunnel interfaces with bonding as you're doing, so it's possible that some aspect of that is interfering with the function of the ARP monitor. -J >uname -a: >Linux fo-gw 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) >x86_64 GNU/Linux >(same on peer system) > >Am I misunderstanding how the driver works? Have I made any mistakes in >the configuration? > >Best regards, >Riccardo P. Bestetti > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [RFC] bonding driver terminology change proposal

2020-07-13 Thread Jay Vosburgh
ve" within the bonding driver source? This in addition to whatever API changes end up being done. If so, then I would also like to know the answer to Andrew's question regarding patch conflicts in order to gauge the future maintenance cost. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next 3/4] bonding: support hardware encryption offload to slaves

2020-06-08 Thread Jay Vosburgh
is system), >as well as successful failover and recovery mid-netperf. > >v2: rebase on latest net-next and wrap with #ifdef CONFIG_XFRM_OFFLOAD >v3: add new CONFIG_BOND_XFRM_OFFLOAD option and fix shutdown path > >CC: Jay Vosburgh >CC: Veaceslav Falico >CC: Andy Gospodar

Re: [PATCH] bonding: Fix reference count leak in bond_sysfs_slave_add.

2020-05-28 Thread Jay Vosburgh
a similar problem. > >Fixes: 07699f9a7c8d ("bonding: add sysfs /slave dir for bond slave devices.") >Signed-off-by: Qiushi Wu Acked-by: Jay Vosburgh >--- > drivers/net/bonding/bond_sysfs_slave.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > >diff

Re: [Patch net v2] net: fix a potential recursive NETDEV_FEAT_CHANGE

2020-05-06 Thread Jay Vosburgh
) >Reported-by: syzbot+e73ceacfd8560cc8a...@syzkaller.appspotmail.com >Reported-by: syzbot+c2fb6f9ddcea95ba4...@syzkaller.appspotmail.com >Cc: Nikolay Aleksandrov >Cc: Josh Poimboeuf >Cc: Jay Vosburgh >Cc: Jann Horn >Signed-off-by: Cong Wang Reviewed-by: Jay Vosburgh >--- > net/c

Re: [Patch net] net: fix a potential recursive NETDEV_FEAT_CHANGE

2020-05-05 Thread Jay Vosburgh
is sufficient to fix this >issue. > >Fixes: fd867d51f889 ("net/core: generic support for disabling netdev features >down stack") >Reported-by: syzbot+e73ceacfd8560cc8a...@syzkaller.appspotmail.com >Reported-by: syzbot+c2fb6f9ddcea95ba4...@syzkaller.appspotmail.com >Cc:

Re: [PATCH] net/bonding: Do not transition down slave after speed/duplex check

2020-04-29 Thread Jay Vosburgh
lar to an issue from last fall; can you confirm that you're running with a kernel that includes: 1899bb325149 bonding: fix state transition issue in link monitoring -J >CC: Jay Vosburgh >CC: Veaceslav Falico >CC: Andy Gospodarek >Signed-off-by: Thomas Fa

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-26 Thread Jay Vosburgh
Aleksei Zakharov wrote: >чт, 26 сент. 2019 г. в 07:38, Jay Vosburgh : >> >> Aleksei Zakharov wrote: >> >> >ср, 25 сент. 2019 г. в 03:31, Jay Vosburgh : >> >> >> >> Алексей Захаров wrote: >> >> [...] >> >> >Right

Re: Question on LACP Bypass feature

2019-09-26 Thread Jay Vosburgh
ow who, or what it does. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-25 Thread Jay Vosburgh
Aleksei Zakharov wrote: >ср, 25 сент. 2019 г. в 03:31, Jay Vosburgh : >> >> Алексей Захаров wrote: >> [...] >> >Right after reboot one of the slaves hangs with actor port state 71 >> >and partner port state 1. >> >It doesn't send lacpdu and s

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-24 Thread Jay Vosburgh
of BOND_LINK_ */ - s8 new_link; u8 backup:1, /* indicates backup slave. Value corresponds with BOND_STATE_ACTIVE and BOND_STATE_BACKUP */ inactive:1, /* indicates inactive slave */ @@ -549,7 +548,7 @@ static inline void bond_propose_link_state(struct slave *slave, int state) static inline void bond_commit_link_state(struct slave *slave, bool notify) { - if (slave->link == slave->link_new_state) + if (slave->link_new_state == BOND_LINK_NOCHANGE) return; slave->link = slave->link_new_state; --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-21 Thread Jay Vosburgh
Алексей Захаров wrote: >> >> Jay Vosburgh wrote: >> [...] >> > In any event, I think I see what the failure is, I'm working up >> >a patch to test and will post it when I have it ready. >> >> Aleksei, >> >>

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-20 Thread Jay Vosburgh
Jay Vosburgh wrote: [...] > In any event, I think I see what the failure is, I'm working up >a patch to test and will post it when I have it ready. Aleksei, Would you be able to test the following patch and see if it resolves the issue in your testing? This

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-19 Thread Jay Vosburgh
Алексей Захаров wrote: >чт, 19 сент. 2019 г. в 11:00, Jay Vosburgh : >> >> Алексей Захаров wrote: >> >> >> >Once a while, one of 802.3ad slaves fails to initialize and hangs in >> >> >BOND_LINK_FAIL state. Commit 334031219a84 ("bonding/

Re: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-19 Thread Jay Vosburgh
return 1; + } switch (ecmd.base.duplex) { case DUPLEX_FULL: case DUPLEX_HALF: break; default: + pr_err("DBG duplex %u slave %s\n", ecmd.base.duplex, + slave_dev->name); return 1; } @@ -3135,6 +3142,9 @@ static int bond_slave_netdev_event(unsigned long event, */ if (bond_update_speed_duplex(slave) && BOND_MODE(bond) == BOND_MODE_8023AD) { + pr_err("DBG slave %s event %d carrier %d\n", + slave->dev->name, event, + netif_carrier_ok(slave->dev)); if (slave->last_link_up) slave->link = BOND_LINK_FAIL; else Thanks, -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] bonding/802.3ad: fix slave initialization states race

2019-09-18 Thread Jay Vosburgh
ce are you testing with that is exhibiting this behavior? If I'm not mistaken, there have been several iterations of hackery on this block of code to work around this same problem, and each time there's some corner case that still doesn't work. As Davem asked last time around, is the real problem that device drivers report carrier up but supply invalid speed and duplex state? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net v3 03/11] bonding: fix unexpected IFF_BONDING bit unset

2019-09-16 Thread Jay Vosburgh
times I see configurations or queries about an active-backup bond with two 802.3ad bonding slaves. That particular configuration doesn't have any advantage (802.3ad will internally manage that situation), but I don't see that we can now forbid nesting bonds without potentially breaking existing user space configurations. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net v3 03/11] bonding: fix unexpected IFF_BONDING bit unset

2019-09-16 Thread Jay Vosburgh
gt;[ 58.658476] ? netdev_change_features+0xa0/0xa0 >[ 58.663592] ? rtnl_create_link+0x2ed/0xad0 >[ 58.664049] bond_newlink+0x2a/0x60 [bonding] >[ 58.664529] __rtnl_newlink+0xb9f/0x11b0 >[ 58.665014] ? rtnl_link_unregister+0x230/0x230 >[ ... ] > >Fixes: 0b680e75372

Re: [PATCH net 03/11] bonding: split IFF_BONDING into IFF_BONDING and IFF_BONDING_SLAVE

2019-09-04 Thread Jay Vosburgh
RENAME_OK = 1<<30, >+ IFF_BONDING_SLAVE = 1<<31, > }; > > #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN >@@ -1539,6 +1541,7 @@ enum netdev_priv_flags { > #define IFF_FAILOVER_SLAVEIFF_FAILOVER_SLAVE > #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER > #define IFF_LIVE_RENAME_OKIFF_LIVE_RENAME_OK >+#define IFF_BONDING_SLAVE IFF_BONDING_SLAVE > > /** > *struct net_device - The DEVICE structure. >@@ -4569,12 +4572,12 @@ static inline bool netif_is_macvlan_port(const struct >net_device *dev) > > static inline bool netif_is_bond_master(const struct net_device *dev) > { >- return dev->flags & IFF_MASTER && dev->priv_flags & IFF_BONDING; >+ return dev->priv_flags & IFF_BONDING; > } > > static inline bool netif_is_bond_slave(const struct net_device *dev) > { >- return dev->flags & IFF_SLAVE && dev->priv_flags & IFF_BONDING; >+ return dev->priv_flags & IFF_BONDING_SLAVE; > } > > static inline bool netif_supports_nofcs(struct net_device *dev) >-- >2.17.1 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: bonded active-backup ethernet-wifi drops packets

2019-07-05 Thread Jay Vosburgh
ze in depth. What I saw was that ping (IPv4) flood worked fine, bonded or not, over a span of several hours. However, ping6 showed small numbers of drops on a ping6 flood when bonded, on the order of 200 drops out of 48,000,000 requests sent. Zero losses when no bond in the stack. Both tests to the same peer connected to the same switch. All of the above with the bond using the Ethernet slave. I haven't tracked down where those losses are occurring, so I don't know if it's on the transmit or receive sides (or both). I did this testing on a laptop with iwlwifi (Centrino 6205) and an e1000e (82579LM) network device, using the a kernel built from net-next as of earlier this week (it claimed to be 5.2.0-rc5+). -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next] bonding/main: fix NULL dereference in bond_select_active_slave()

2019-07-01 Thread Jay Vosburgh
21865] [] ? rescuer_thread+0x380/0x380 >[12105.827757] [] ? kthread_associate_blkcg+0xc0/0xc0 >[12105.834266] [] ret_from_fork+0x51/0x60 > >Fixes: e2a7420df2e0 ("bonding/main: convert to using slave printk macros") >Signed-off-by: Eric Dumazet >Reported-by: John S

Re: bonding-devel mail list?

2019-05-23 Thread Jay Vosburgh
Bill Carlson wrote: >On 5/23/19 11:46 AM, Jay Vosburgh wrote: >> As far as I'm aware, nesting bonds has no practical benefit; do >> you have a use case for doing so? >> >> >Use case is very specific, but needed in my situation until some switches >are stabi

Re: bonding-devel mail list?

2019-05-23 Thread Jay Vosburgh
ed the mailing list entirely at some point. >Chasing whether a bond of bonds has an issue my testing hasn't revealed. As far as I'm aware, nesting bonds has no practical benefit; do you have a use case for doing so? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] bonding: fix arp_validate toggling in active-backup mode

2019-05-13 Thread Jay Vosburgh
David Miller wrote: >From: Jay Vosburgh >Date: Mon, 13 May 2019 09:43:30 -0700 > >> That would be my preference, as the 29c4948293bf commit looks to >> be the change actually being fixed. > >Sorry I pushed the original commit message out :-( > >But isn&#

Re: [PATCH] bonding: fix arp_validate toggling in active-backup mode

2019-05-13 Thread Jay Vosburgh
Jarod Wilson wrote: >On 5/10/19 6:53 PM, Jay Vosburgh wrote: >> Jarod Wilson wrote: >> >>> There's currently a problem with toggling arp_validate on and off with an >>> active-backup bond. At the moment, you can start up a bond, like so: >>&g

Re: [PATCH] bonding: fix arp_validate toggling in active-backup mode

2019-05-10 Thread Jay Vosburgh
"bonding: always set recv_probe to bond_arp_rcv in arp >monitor") Is the above Fixes: tag correct? 3fe68df97c7f is not the source of the erroneous logic being removed, which was introduced by commit 29c4948293bfc426e52a921f4259eb3676961e81 Author: sfel...@cumulusnetworks.com

Re: [PATCH 1/2] net: bonding: fix restricted __be16 degrades to integer

2019-03-08 Thread Jay Vosburgh
continue; >@@ -3238,7 +3238,7 @@ static inline u32 bond_eth_hash(struct sk_buff *skb) > > ep = skb_header_pointer(skb, 0, sizeof(hdr_tmp), &hdr_tmp); > if (ep) >- return ep->h_dest[5] ^ ep->h_source[5] ^ ep->h_proto; >+ retu

Re: [PATCH 2/2] net: bonding: fix incorrect type in assignment

2019-03-07 Thread Jay Vosburgh
&newval); thus, newval.value is initially be32, but stored in a u64. __bond_opt_set will call bond_opt_parse, which in turn will call bond_option_arp_ip_targets_set (via .set), and the change above would swap the newval.value back to host order (on little endian architectures for which cpu_to_be32 is not a no-op). Am I misunderstanding? Did you test this change on an x86 or other little endian system? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH v2 net] bonding: fix 802.3ad state sent to partner when unbinding slave

2018-11-27 Thread Jay Vosburgh
implementations like Open VSwitch and libreswitch, and >vendor implementations like Arista EOS, seem to disable collecting + >distributing to when doing similar port disabling/detaching/removing change. >With this patch kernel implementation would behave the same way and ensure >partner do

Re: [PATCH net] bonding: fix 802.3ad state sent to partner when unbinding slave

2018-11-26 Thread Jay Vosburgh
tate machine (figure 5-15) to exit C_D state and go to ATTACHED state (disabling Coll/Dist). But, either way, as this is a hint to get the link partner to stop using the port, this looks reasonable to me. Acked-by: Jay Vosburgh -J >Signed-off-by: Toni Peltonen >---

Re: [PATCH] bonding: fix length of actor system

2018-10-27 Thread Jay Vosburgh
d_actor_system), >- &bond->params.ad_actor_system)) >+ ETH_ALEN, &bond->params.ad_actor_system)) > goto nla_put_failure; > } > if (!bond_3ad_get_active_agg_info(bond, &info)) { > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next] net/ipv6: Block IPv6 addrconf on team ports

2018-10-25 Thread Jay Vosburgh
Chas Williams <3ch...@gmail.com> wrote: >On 10/25/2018 05:59 PM, Jay Vosburgh wrote: >> Chas Williams <3ch...@gmail.com> wrote: >> >>> netif_is_lag_port should be used to identify link aggregation ports. >>> For this to work, we need to reorganize

Re: [PATCH net-next] net/ipv6: Block IPv6 addrconf on team ports

2018-10-25 Thread Jay Vosburgh
(dev->flags & IFF_SLAVE) >+ if (netif_is_lag_port(dev) || dev->flags & IFF_SLAVE) Note that netvsc_vf_join() also uses IFF_SLAVE in order skip IPv6 addrconf for netvsc devices; I don't believe its usage will pass netif_is_lag_port(). It looks like the above will work, but your commit message mentions eql as the reason for retaining the IFF_SLAVE test, and eql isn't the only user of IFF_SLAVE in this manner. -J > break; > > if (idev && idev->cnf.disable_ipv6) >-- >2.14.4 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net 02/15] bonding: use netpoll_poll_dev() helper

2018-09-22 Thread Jay Vosburgh
or bonding, not team; otherwise LGTM. Acked-by: Jay Vosburgh -J >Signed-off-by: Eric Dumazet >Cc: Jay Vosburgh >Cc: Veaceslav Falico >Cc: Andy Gospodarek >--- > drivers/net/bonding/bond_main.c | 11 ++- > 1 file changed, 2 insertions(+), 9 deletions(-)

Re: [PATCH next] bonding: pass link-local packets to bonding master also.

2018-07-16 Thread Jay Vosburgh
{ >+ struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC); >+ >+ if (nskb) { >+ nskb->dev = bond->dev; >+ netif_rx(nskb); >+ } > return RX_HANDLER_PASS; >+ } > if (bond_should_deliver_exact_match(skb, slave, bond)) > return RX_HANDLER_EXACT; > >-- >2.18.0.203.gfac676dfb9-goog --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [BUG] bonded interfaces drop bpdu (stp) frames

2018-07-12 Thread Jay Vosburgh
Mahesh Bandewar (महेश बंडेवार) wrote: >On Thu, Jul 12, 2018 at 11:03 AM, Jay Vosburgh > wrote: >> Michal Soltys wrote: >> >>>On 07/12/2018 04:51 PM, Jay Vosburgh wrote: >>>> Mahesh Bandewar (महेश बंडेवार) wrote: >>>> >>>>> On We

Re: [BUG] bonded interfaces drop bpdu (stp) frames

2018-07-12 Thread Jay Vosburgh
Michal Soltys wrote: >On 07/12/2018 04:51 PM, Jay Vosburgh wrote: >> Mahesh Bandewar (महेश बंडेवार) wrote: >> >>> On Wed, Jul 11, 2018 at 3:23 PM, Michal Soltys wrote: >>>> >>>> Hi, >>>> >>>> As weird as that sounds, t

Re: [BUG] bonded interfaces drop bpdu (stp) frames

2018-07-12 Thread Jay Vosburgh
Apr 16 12:02:18 2017 -0700 bonding: deliver link-local packets with skb->dev set to link that packets arrived on Michal, are you able to revert this patch and test? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next v2 4/4] bonding: allow carrier and link status to determine link state

2018-05-16 Thread Jay Vosburgh
>index 8a945c9341d6..dba6cef05134 100644 >--- a/drivers/net/bonding/bond_options.c >+++ b/drivers/net/bonding/bond_options.c >@@ -164,9 +164,10 @@ static const struct bond_opt_value >bond_primary_reselect_tbl[] = { > }; > > static const struct bond_opt_value bond_use_carrier_tbl[] = { >- { "off", 0, 0}, >- { "on", 1, BOND_VALFLAG_DEFAULT}, >- { NULL, -1, 0} >+ { "off", 0, 0}, >+ { "on", 1, BOND_VALFLAG_DEFAULT}, >+ { "both", 2, 0}, >+ { NULL, -1, 0} > }; > > static const struct bond_opt_value bond_all_slaves_active_tbl[] = { >-- >2.17.0 --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net-next 4/4] bonding: allow carrier and link status to determine link state

2018-05-11 Thread Jay Vosburgh
ivers/net/bonding/bond_options.c >index 8a945c9341d6..dba6cef05134 100644 >--- a/drivers/net/bonding/bond_options.c >+++ b/drivers/net/bonding/bond_options.c >@@ -164,9 +164,10 @@ static const struct bond_opt_value >bond_primary_reselect_tbl[] = { > }; > > static const struct

Re: [PATCH net-next 3/4] bonding: allow use of tx hashing in balance-alb

2018-05-11 Thread Jay Vosburgh
Debabrata Banerjee wrote: >The rx load balancing provided by balance-alb is not mutually >exclusive with using hashing for tx selection, and should provide a decent >speed increase because this eliminates spinlocks and cache contention. > >Signed-off-by: Debabrata Banerjee >--- > drivers/net/bon

Re: [PATCH net-next 2/4] bonding: use common mac addr checks

2018-05-11 Thread Jay Vosburgh
Banerjee, Debabrata wrote: >> From: Jay Vosburgh [mailto:jay.vosbu...@canonical.com] >> Debabrata Banerjee wrote: > >> >- if >> (!ether_addr_equal_64bits(rx_hash_table[index].mac_dst, >> >-

Re: [PATCH net-next 2/4] bonding: use common mac addr checks

2018-05-11 Thread Jay Vosburgh
Debabrata Banerjee wrote: >Replace homegrown mac addr checks with faster defs from etherdevice.h > >Signed-off-by: Debabrata Banerjee >--- > drivers/net/bonding/bond_alb.c | 28 +--- > 1 file changed, 9 insertions(+), 19 deletions(-) > >diff --git a/drivers/net/bonding/bon

[PATCH v2 net-next] virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS

2018-03-22 Thread Jay Vosburgh
uot; VIRTIO_NET_F_STATUS cases, and then the existing call to netif_carrier_on for the "without" case will cause an operstate transition. Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Ben Hutchings Signed-off-by: Jay Vosburgh --- I considered resolving this by c

Re: [PATCH net] virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS

2018-03-22 Thread Jay Vosburgh
Michael S. Tsirkin wrote: >On Thu, Mar 22, 2018 at 12:02:10PM +0000, Jay Vosburgh wrote: >> Michael S. Tsirkin wrote: >> >> >On Thu, Mar 22, 2018 at 09:05:52AM +, Jay Vosburgh wrote: >> >> The operstate update logic will leave an interface in the &g

Re: [PATCH net] virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS

2018-03-22 Thread Jay Vosburgh
Michael S. Tsirkin wrote: >On Thu, Mar 22, 2018 at 09:05:52AM +0000, Jay Vosburgh wrote: >> The operstate update logic will leave an interface in the >> default UNKNOWN operstate if the interface carrier state never changes >> from the default carrier up state s

[PATCH net] virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS

2018-03-22 Thread Jay Vosburgh
uot; VIRTIO_NET_F_STATUS cases, and then the existing call to netif_carrier_on for the "without" case will cause an operstate transition. Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Ben Hutchings Fixes: 167c25e4c550 ("virtio-net: init link state correctly") Signe

[PATCH net] bonding: fix slave stuck in BOND_LINK_FAIL state

2017-11-07 Thread Jay Vosburgh
actually link up. The remedy for this is to initialize new_link_state on each entry to bond_miimon_inspect, as is already done with new_link. Reported-by: Alex Sidorenko Reviewed-by: Jarod Wilson Signed-off-by: Jay Vosburgh Fixes: fb9eb899a6dc ("bonding: handle link transition from

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-06 Thread Jay Vosburgh
Jarod Wilson wrote: >On 2017-11-02 9:11 PM, Jay Vosburgh wrote: [...] >> diff --git a/drivers/net/bonding/bond_main.c >> b/drivers/net/bonding/bond_main.c >> index 18b58e1376f1..6f89f9981a6c 100644 >> --- a/drivers/net/bonding/bond_main.c >> +++ b/drivers/net/

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-03 Thread Jay Vosburgh
lave: new_active: >ens3f1 >Oct 31 09:09:25 SYDC1LNX kernel: bond0: Non-BOND_LINK_BACK case >Oct 31 09:09:25 SYDC1LNX kernel: bond0: making interface ens3f1 the new active >one >Oct 31 09:09:25 SYDC1LNX kernel: bond0: Setting MAC on new_active >Oct 31 09:09:25 SYDC1LNX kernel: bo

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-02 Thread Jay Vosburgh
Alex Sidorenko wrote: >On 11/02/2017 12:51 AM, Jay Vosburgh wrote: >> Jarod Wilson wrote: >> >>> On 2017-11-01 8:35 PM, Jay Vosburgh wrote: >>>> Jay Vosburgh wrote: >>>> >>>>> Alex Sidorenko wrote: >>>>>

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-01 Thread Jay Vosburgh
Jarod Wilson wrote: >On 2017-11-01 8:35 PM, Jay Vosburgh wrote: >> Jay Vosburgh wrote: >> >>> Alex Sidorenko wrote: >>> >>>> The problem has been found while trying to deploy RHEL7 on HPE Synergy >>>> platform, it is seen both in custom

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-01 Thread Jay Vosburgh
Jay Vosburgh wrote: >Alex Sidorenko wrote: > >>The problem has been found while trying to deploy RHEL7 on HPE Synergy >>platform, it is seen both in customer's environment and in HPE test lab. >> >>There are several bonds configured in TLB mode and miimon=1

Re: Bond recovery from BOND_LINK_FAIL state not working

2017-11-01 Thread Jay Vosburgh
e where this is, but presuming that this is in the BOND_LINK_FAIL case of the switch, it looks like both BOND_LINK_FAIL and BOND_LINK_BACK will have the issue that if the link recovers or fails, respectively, within the delay window (for down/updelay > 0) it won't set a slave->new_link. Looks like this got lost somewhere along the line, as originally the transition back to UP (or DOWN) happened immediately, and that has been lost somewhere. I'll have to dig out when that broke, but I'll see about a test patch this afternoon. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: Regression: Bug 196547 - Since 4.12 - bonding module not working with wireless drivers

2017-08-16 Thread Jay Vosburgh
se that absolutely should just work. I don't think bonding cares (or should care) about (a) - (c) for this use. Your point (b) suggests that there are use cases other than the above; I'm unfamiliar with any use other than wifi + ethernet, can you elaborate? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] Convert BUG_ON to WARN_ON in bond_options.c

2017-06-21 Thread Jay Vosburgh
In general, yes, but in this case, the condition should be impossible to hit, so BUG_ON seems appropriate. If bond_slave_get_rtnl/rcu() returns NULL for an actual bonding slave, other code paths (bond_fill_slave_info, bond_handle_frame) will likely crash before getting to this one. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] Convert BUG_ON to WARN_ON in bond_options.c

2017-06-21 Thread Jay Vosburgh
nto bond_option_active_slave_set for a slave prior to bond_enslave registering the rx_handler for that slave, as these operations are mutexed by RTNL. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] Convert BUG_ON to WARN_ON in bond_options.c

2017-06-21 Thread Jay Vosburgh
ew_active); This is a reasonable idea in principle, but will require additional changes to prevent dereferencing new_active if it is NULL (which would happen just below this point in the code). -J > if (new_active == old_active) { > /* do nothing */ >-- >2.7.4 > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH] Convert multiple netdev_info messages to netdev_dbg

2017-06-15 Thread Jay Vosburgh
gt;> bond->params.arp_interval = 0; >> /* set miimon to default value */ >> bond->params.miimon = BOND_DEFAULT_MIIMON; >> -netdev_info(bond->dev, "Setting MII monitoring interval to >> %d\n", >> +netdev_dbg(bond->dev, "Setting MII monitoring interval to %d\n", >> bond->params.miimon); > >etc... > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: bond link state mismatch, rtnl_trylock() vs rtnl_lock()

2017-05-23 Thread Jay Vosburgh
nding/bond_main.c >@@ -2614,8 +2614,7 @@ static void bond_loadbalance_arp_mon(struct >work_struct *work) >rcu_read_unlock(); > >if (do_failover || slave_state_changed) { >- if (!rtnl_trylock()) >- goto re_arm; >+ rtnl_lock(); > >if (slave_state_changed) { >bond_slave_state_change(bond); > > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH net] bonding: avoid defaulting hard_header_len to ETH_HLEN on slave removal

2017-04-27 Thread Jay Vosburgh
1407 ("[PATCH] bonding: Handle large hard_header_len") >Fixes: fc791b633515 ("IB/ipoib: move back IB LL address into the hard header") >Signed-off-by: Marcelo Ricardo Leitner >Signed-off-by: Paolo Abeni Signed-off-by: Jay Vosburgh > drivers/net/bonding/bond_main.c

Re: [PATCH net-next v2] bonding: deliver link-local packets with skb->dev set to link that packets arrived on

2017-04-17 Thread Jay Vosburgh
bonding-master. This >patch changes this behavior for link-local packets by not changing >the skb->dev to the bonding-master and maintaining it as it is, >i.e. the link on which the packet arrived. Minor nit: "looses" should be "loses". Other than that:

Re: [PATCH net-next] bonding: do not pass link-local packets to master-interface

2017-04-14 Thread Jay Vosburgh
Mahesh Bandewar (महेश बंडेवार) wrote: >On Fri, Apr 14, 2017 at 12:30 PM, Jay Vosburgh > wrote: >> >> >> Chonggang Li wrote: >> >> >Previously link-local packets excluding LACP (which are handled by >> >the recv_probe) received on bond slave interf

Re: [PATCH net-next] bonding: do not pass link-local packets to master-interface

2017-04-14 Thread Jay Vosburgh
if (bond_should_deliver_exact_match(skb, slave, bond)) > return RX_HANDLER_EXACT; > >-- >2.12.2.762.g0e3151a226-goog > --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: bond procfs hw addr prints

2017-03-13 Thread Jay Vosburgh
s format string. Perhaps that format would be a better choice than %pM for this case? -J --- -Jay Vosburgh, jay.vosbu...@canonical.com

Re: [PATCH next 0/5] bonding: winter cleanup

2017-03-08 Thread Jay Vosburgh
te >from the LACP state machine. This state is defined but never set so >removing from the state machine logic makes code little cleaner. > >(d) Reduce scope of some global variables to local. For all patches in the series: Signed-off-by: Jay Vosburgh >N

  1   2   3   4   5   >