Commit 27f6ba65 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

BGP: Fix bug in ADD_PATH

When a BGP session with ADD_PATH is restarted and the neighbor do not
announce ADD_PATH capability during reconnect, the accept_ra_types is
still set to RA_ANY.

Thanks to Lennert Buytenhek for the bugreport
parent 1950a479
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1037,8 +1037,13 @@ bgp_rx_open(struct bgp_conn *conn, byte *pkt, uint len)
  p->gr_ready = p->cf->gr_mode && conn->peer_gr_able;
  p->ext_messages = p->cf->enable_extended_messages && conn->peer_ext_messages_support;

  /* Update RA mode */
  if (p->add_path_tx)
    p->p.accept_ra_types = RA_ANY;
  else if (p->cf->secondary)
    p->p.accept_ra_types = RA_ACCEPTED;
  else
    p->p.accept_ra_types = RA_OPTIMAL;

  DBG("BGP: Hold timer set to %d, keepalive to %d, AS to %d, ID to %x, AS4 session to %d\n", conn->hold_time, conn->keepalive_time, p->remote_as, p->remote_id, p->as4_session);