tap-bridge-tap: sem LACP

1

Eu tenho dois switches conectados via interfaces TAP. Cada porta do Virtual Switch é conectada a uma porta TAP individual e as portas TAP são unidas por meio de uma Bridge.

SW1-port1 = TAP 11 <== BR121 ==> TAP 21 = SW2-port1
SW1-port2 = TAP 12 <== BR122 ==> TAP 22 = SW2=port2

Se eu configurar as portas do Switch como a camada normal 3, elas poderão executar ping umas nas outras, o que significa que a configuração acima está funcionando, no entanto os pacotes LACP são descartados e não consigo estabelecer um canal de porta entre os dois (para fins educacionais). / p>

Eu posso ver os pacotes LACP gerados pelo switch conectado localmente se eu "tcpdump" a interface TAP, mas de alguma forma o pacote LACP não chega à outra extremidade (para o outro TAP I / F).

Poderia ser a ponte absorvendo o pacote LACP? Existe uma maneira de evitar isso?

Obrigado Francesco

    
por Francesco 13.08.2018 / 22:16

1 resposta

0

Sim, o LACP usa o endereço do grupo 01: 80: C2: 00: 00: 02, que está no intervalo "não retransmissão": qualquer ponte compatível com 802.1D não deve encaminhar esses quadros.

Enquanto as pontes do Linux permitem configurar exceções para isso (via group_fwd_mask ), esse recurso destina-se a protocolos de nível superior, como LLDP ou 802.1X, e se recusa explicitamente a incluir um bypass para o endereço STP / LACP.

(Eu acho que isso faz muito sentido, porque esses protocolos são especificamente destinados a serem usados entre dois peers em extremidades opostas de um link direto, e funcionariam de várias maneiras de outra forma.)

Pontes classificadas como relés MAC de duas portas seria uma exceção: como eles ligam exatamente duas interfaces, eles podem ser transparentes para o LACP. No entanto, tanto quanto eu sei, não há nenhum método nativo de dizer a uma ponte Linux para agir como um.

Ele poderia ser feito usando um programa de espaço do usuário para mover quadros entre duas interfaces, como socat .

Alternativamente, você pode executar o LACP entre cada um dos seus vswitches eo host Linux (usando os drivers de ligação ou formação de equipe), e então colocar a ponte no topo do dois LAGs (interfaces de ligação).

    
por 13.08.2018 / 23:35