Ne jamais oublier que sur BSD et GNU/Linux, cette option est gérée par le noyau lui-même, pas par l'implémentation BGP (BIRD, OpenBGPd, Quagga, XORP, etc.). Cela signifie que si le mdp n'est pas le même sur chaque routeur BGP, la session ne se monte pas car le noyau du receveur d'un SYN n'y répond pas car il ignore silencieusement ce segment TCP car son condensat MD5 est incorrect.
Dans un lab, une capture réseau me montrait que les SYN étaient bien envoyés et reçus mais que mes routeurs les ignoraient. Je pensais à un problème de pare-feu mais j'avais bien ouverts les ports. Si l'on stoppe l'implémentation BGP, le routeur d'en face reçoit bien un RST. Jusqu'à ce que je relise la conf' de mes routeurs et que je constate l'absence de mdp d'un côté. J'ai désormais l'explication : les SYN étaient ignorés car le hash MD5 était incorrect. Tout s'explique.