Class BGPSynchronization

java.lang.Object
org.opendaylight.protocol.bgp.rib.impl.BGPSynchronization

public class BGPSynchronization extends Object
BGP speaker (without Graceful restart capability) sends KeepAlive message after sending all initial Update messages with certain AFI/SAFI. For each AFI/SAFI, it sends one KA message. As it is undetermined which KA message belongs to which AFI/SAFI, an algorithm needed to be implemented.
  • Field Details

    • syncStorage

      public final Map<TablesKey,org.opendaylight.protocol.bgp.rib.impl.BGPSynchronization.SyncVariables> syncStorage
  • Constructor Details

  • Method Details

    • updReceived

      public void updReceived(Update msg)
      For each received Update message, the upd sync variable needs to be updated to true, for particular AFI/SAFI combination. Currently we only assume Unicast SAFI. From the Update message we have to extract the AFI. Each Update message can contain BGP Object with one type of AFI. If the object is BGP Link, BGP Node or a BGPPrefix the AFI is Linkstate. In case of BGPRoute, the AFI depends on the IP Address of the prefix.
      Parameters:
      msg - received Update message
    • kaReceived

      public void kaReceived()
      This method is called, when the second KA message is received. It checks each AFI/SAFI sync variables. If they are all false, which means, that there was at least one update message followed by one KA, the EOR is sent to session.