]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_fsm.c
Merge pull request #11894 from sri-mohan1/sri-bgp-dbg1
[mirror_frr.git] / bgpd / bgp_fsm.c
index 5534e5480846850eca0b2e42c3400b97e2ce275a..1164546df7c4a66b2d9f412d635b4f4e710fc092 100644 (file)
@@ -300,6 +300,11 @@ static struct peer *peer_xfer_conn(struct peer *from_peer)
                peer->afc_recv[afi][safi] = from_peer->afc_recv[afi][safi];
                peer->orf_plist[afi][safi] = from_peer->orf_plist[afi][safi];
                peer->llgr[afi][safi] = from_peer->llgr[afi][safi];
+               if (from_peer->soo[afi][safi]) {
+                       ecommunity_free(&peer->soo[afi][safi]);
+                       peer->soo[afi][safi] =
+                               ecommunity_dup(from_peer->soo[afi][safi]);
+               }
        }
 
        if (bgp_getsockname(peer) < 0) {
@@ -574,7 +579,7 @@ void bgp_routeadv_timer(struct thread *thread)
                zlog_debug("%s [FSM] Timer (routeadv timer expire)",
                           peer->host);
 
-       peer->synctime = bgp_clock();
+       peer->synctime = monotime(NULL);
 
        thread_add_timer_msec(bm->master, bgp_generate_updgrp_packets, peer, 0,
                              &peer->t_generate_updgrp_packets);
@@ -975,7 +980,7 @@ void bgp_start_routeadv(struct bgp *bgp)
  */
 void bgp_adjust_routeadv(struct peer *peer)
 {
-       time_t nowtime = bgp_clock();
+       time_t nowtime = monotime(NULL);
        double diff;
        unsigned long remain;
 
@@ -987,7 +992,7 @@ void bgp_adjust_routeadv(struct peer *peer)
                 */
                THREAD_OFF(peer->t_routeadv);
 
-               peer->synctime = bgp_clock();
+               peer->synctime = monotime(NULL);
                /* If suppress fib pending is enabled, route is advertised to
                 * peers when the status is received from the FIB. The delay
                 * is added to update group packet generate which will allow
@@ -1471,7 +1476,7 @@ int bgp_stop(struct peer *peer)
                }
 
                /* set last reset time */
-               peer->resettime = peer->uptime = bgp_clock();
+               peer->resettime = peer->uptime = monotime(NULL);
 
                if (BGP_DEBUG(update_groups, UPDATE_GROUPS))
                        zlog_debug("%s remove from all update group",
@@ -2219,7 +2224,7 @@ static int bgp_establish(struct peer *peer)
        if (!peer->v_holdtime)
                bgp_keepalives_on(peer);
 
-       peer->uptime = bgp_clock();
+       peer->uptime = monotime(NULL);
 
        /* Send route-refresh when ORF is enabled.
         * Stop Long-lived Graceful Restart timers.