@Matlu wrote:
Hello,
Does it mean that despite having a bond (LACP) where logically we would have 20GB of BW, really for a particular connection, I will only consume 10GB?
When the PC tries to download a file that “weighs” more than 11GB, does it mean that this data flow will really use only one interface of the bond, and only 10GB of BW will be available?
Is this the logic?
Exactly. In most bond modes, a single connection can only use one interface. Multiple connections can use the full potential performance of the bond. A single Ethernet frame can only be sent in whole, so all of the bond modes have a strategy for picking which link should be used to send it. Active/backup sends all frames on one link until that link goes down, so you only get the throughput of one link. XOR picks a link based on either the destination MAC or the destination IP+port, so all frames to a given destination on a given port will always use the same link. 802.3ad/LACP does some additional link state monitoring, but picks the transmit link in the same way XOR does, so all frames to a given destination on a given port will always use the same link.
Round-robin can allow a single connection to use all the available throughput. You don't always get optimal balancing (sometimes you're sending smaller frames for other connections, after all), so it's best to assume each additional interface will give you an extra 50% of its throughput at most. That is, two 10g interfaces in a round-robin bond should let one connection reliably use 15g of throughput. Three should let one connection get 20g.
Is it possible to see at CLI level, some command that indicates us, how much “allows” an interface in terms of BW?
'ethtool <interface>' for one of the bond members will tell you the current speed of that interface. Repeat for all interfaces in the bond (they are almost always the same, but it's easy to check to be sure), and the lowest value is the maximum throughput you can expect for any single connection.