Re: dual port cross over cable bonding

Hi.
On Fri, Oct 05, 2018 at 03:14:15PM +0100, Adam Weremczuk wrote:
> Hello,
>
> I have 2 servers running Proxmox 5.2 (based on Debian 9).
Have you considered using OpenVSwitch for the task?
> I've connected Ethernet ports between them with a pair of cross over cables.
Ok.
> iface ens1f0 inet manual
>
> iface ens1f1 inet manual
Not needed. ifupdown is smart enough to bring those up without these
lines.
> auto bond1
> iface bond1 inet static
> slaves ens1f0 ens1f1
It's 'bond-slaves', not 'slaves'
> address 192.168.200.1(2)
> netmask 255.255.255.252
> bond_miimon 100
> # bond_mode 802.3ad
> bond_mode balance-rr
> bond_xmit_hash_policy layer3+4
Documentation/networking/bonding.txt.gz clearly states that:
xmit_hash_policy
Selects the transmit hash policy to use for slave selection in
balance-xor, 802.3ad, and tlb modes.
balance-rr and xmit_hash_policy do not play together.
> Tried both 802.3ad and balance-rr modes.
And predictably 802.3ad did not work for you.
You're using cross-cable = you lack LACP Partner.
No LACP probes = 802.3ad fails.
> AFAIK only these 2 provide link aggregation.
No. There is 'balance-tlb' that does it too, but it's useless in
cross-over setup.
Add any cheap unmanaged switch to the picture, and it will be different.
> Unfortunately in either mode cross pinging fails with "Destination Host Unreachable".
Leaving aside '802.3ad' that will never work for you, let's focus on
'balance-rr'.
Starting with something simple, have you confirmed via tcpdump that both
links receive ICMP from the other host?
> The same configuration works fine against managed switch ports (LACP/LAG).
Adding a hint here, OpenVSwitch can be LACP Partner. Linux kernel can be
Actor only.
> So my question is why this is not working and whether it's possible at all?
802.3ad - both hosts are unable to negotiate links for ingress traffic.
balance-rr - my best guess so far goes into ARP filtering direction.
Reco