]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd: fix issue in capability negotiation (BZ#700)
authorAvneesh Sachdev <avneesh@opensourcerouting.org>
Sun, 19 Feb 2012 18:19:52 +0000 (10:19 -0800)
committerAvneesh Sachdev <avneesh@opensourcerouting.org>
Sun, 8 Apr 2012 20:46:29 +0000 (13:46 -0700)
commit3b381c32fc2c325cc4ffb9f9f30a7e96e9bd87c6
treeb4eb46f5fe28b4734723c9ff4227a94a5bd32b4e
parente96b312150d8e376c1ef463793d1929eca3618d5
bgpd: fix issue in capability negotiation (BZ#700)

Address problem where bgpd would reject a session if a peer sent some
capabilities in its Open message, but did not include a Multiprotocol
extensions capability. Note that the session would come up if there
were no capabilities at all in the Open message.

  * Add the 'mp_capability' out parameter to
    bgp_capability_parse(). Set it to '1' if a Multiprotocol
    extensions capability is encountered.

  * Switch on 'mp_capability' instead of 'capability' in the calling
    functions to determine if the peer indicated the set of AFI/SAFIs
    it supports.

    The net result is that when a peer does not send an MP capability,
    it is assumed to support the AFI/SAFIs configured for it locally.
bgpd/bgp_open.c
bgpd/bgp_packet.c