]> git.puffer.fish Git - matthieu/frr.git/commitdiff
2004-04-16 rivo nurges <rix@estpak.ee>
authorpaul <paul>
Tue, 20 Apr 2004 15:13:15 +0000 (15:13 +0000)
committerpaul <paul>
Tue, 20 Apr 2004 15:13:15 +0000 (15:13 +0000)
        * bgpd.h: update cease subcodes to draft-ietf-idr-cease-subcode-05
        * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a

bgpd/ChangeLog
bgpd/bgp_route.c
bgpd/bgp_route.h
bgpd/bgpd.c
bgpd/bgpd.h

index f28e6a0ce79f51c54811253b3f032f4c909c4fff..9250785c8bf325afb9a3865c3cf5078dfc1206d9 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-16 rivo nurges <rix@estpak.ee>
+
+       * bgpd.h: update cease subcodes to draft-ietf-idr-cease-subcode-05
+       * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a
+
 2004-02-17 Paul Jakma <paul@dishone.st>
 
        * bgpd.h: (bgp_peer) add fd_local and fd_accept 
index 1d7a05241c438f27747b7a2bd6c82918d891afe0..7025a8ff6abda3d294e8497d139e9e04c58b769b 100644 (file)
@@ -1568,7 +1568,7 @@ bgp_clear_adj_in (struct peer *peer, afi_t afi, safi_t safi)
 \f
 /* Delete all kernel routes. */
 void
-bgp_terminate ()
+bgp_cleanup_routes ()
 {
   struct bgp *bgp;
   struct listnode *nn;
index a11aa143a28f8f86bdf79804ac97ae98a87fd90f..fd97617a2a6eabe6d00f49a97bb654813dd7c20e 100644 (file)
@@ -119,6 +119,7 @@ struct bgp_static
 
 /* Prototypes. */
 void bgp_route_init ();
+void bgp_cleanup_routes (void);
 void bgp_announce_route (struct peer *, afi_t, safi_t);
 void bgp_announce_route_all (struct peer *);
 void bgp_default_originate (struct peer *, afi_t, safi_t, int);
index f4c8f762fb43f5a82dd9be5da0b835c4f8f0185c..ae8af9f42496930582de4282c0b660f9e2ce00bf 100644 (file)
@@ -4612,3 +4612,24 @@ bgp_init ()
   bgp_snmp_init ();
 #endif /* HAVE_SNMP */
 }
+
+void
+bgp_terminate ()
+{
+  struct bgp_master *bm;
+  struct bgp *bgp;
+  struct peer *peer;
+  struct listnode *nn;
+  struct listnode *mm;
+
+  bm = bgp_get_master ();
+
+  LIST_LOOP (bm->bgp, bgp, nn)
+    LIST_LOOP (bgp->peer, peer, mm)
+      if (peer->status == Established)
+          bgp_notify_send (peer, BGP_NOTIFY_CEASE,
+                           BGP_NOTIFY_CEASE_PEER_UNCONFIG);
+
+  bgp_cleanup_routes ();
+}
+
index a8bfa52f54187a1bc011367b3c99be5e057e3406..6f22e53df4f6ea57e24d202487c2708b2f1cf9a3 100644 (file)
@@ -558,14 +558,16 @@ struct bgp_nlri
 #define BGP_NOTIFY_UPDATE_MAL_AS_PATH           11
 #define BGP_NOTIFY_UPDATE_MAX                   12
 
-/* BGP_NOTIFY_CEASE sub codes (draft-ietf-idr-cease-subcode-00).  */
+/* BGP_NOTIFY_CEASE sub codes (draft-ietf-idr-cease-subcode-05).  */
 #define BGP_NOTIFY_CEASE_MAX_PREFIX              1
 #define BGP_NOTIFY_CEASE_ADMIN_SHUTDOWN          2
 #define BGP_NOTIFY_CEASE_PEER_UNCONFIG           3
 #define BGP_NOTIFY_CEASE_ADMIN_RESET             4
 #define BGP_NOTIFY_CEASE_CONNECT_REJECT          5
 #define BGP_NOTIFY_CEASE_CONFIG_CHANGE           6
-#define BGP_NOTIFY_CEASE_MAX                     7
+#define BGP_NOTIFY_CEASE_COLLISION_RESOLUTION    7
+#define BGP_NOTIFY_CEASE_OUT_OF_RESOURCE         8
+#define BGP_NOTIFY_CEASE_MAX                     9
 
 /* BGP_NOTIFY_CAPABILITY_ERR sub codes (draft-ietf-idr-dynamic-cap-02). */
 #define BGP_NOTIFY_CAPABILITY_INVALID_ACTION     1