blob: 80827393b741085e1e7de0e9d874ac9e7afd801a [file] [log] [blame]
Paul Jakma34c3f812006-05-12 23:25:37 +000012006-05-12 Paul Jakma <paul.jakma@sun.com>
2
3 * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity
4 CID #1
Paul Jakmadd8103a2006-05-12 23:27:30 +00005 * bgp_route.c: (bgp_static_update_main) Remove useless NULL
6 check, code already assumes bgp_static can not be NULL,
7 fixes CID #7.
Paul Jakma06e110f2006-05-12 23:29:22 +00008 (bgp_static_update_rsclient) ditto, CID #6
Paul Jakma34c3f812006-05-12 23:25:37 +00009
Paul Jakma542bcb72006-05-08 14:25:09 +0000102006-05-08 Paul Jakma <paul.jakma@sun.com>
11
12 * bgp_community.c: (community_str2com) Coverity CID#62, fix
13 double-free, use-after-free.
Paul Jakmada5b30f2006-05-08 14:37:17 +000014 * bgp_route.c: (bgp_afi_node_get) given table should never be
15 NULL, check/assert this.
16 (bgp_static_update) Bug #240. Rsclients should only be passed
17 the static update if they are configured for the afi,safi.
Paul Jakma542bcb72006-05-08 14:25:09 +000018
Paul Jakmaa3b6ea52006-05-04 07:52:12 +0000192006-05-04 Paul Jakma <paul.jakma@sun.com>
20
21 * (general) VPNv4 fixes. Certain VPNv4 code was not enabled.
22 See bug #210.
23 * bgp_attr.{c,h}: (bgp_packet_{withdraw,attribute}) Tag should be
24 u_char really.
25 * bgp_packet.c: (bgp_{update,withdraw}_packet) Enable some
26 VPNv4 code which inexplicably was ifdef'd out. comments from
27 a tester on IRC suggest this fixes bug #210.
Paul Jakma65ca75e2006-05-04 08:08:15 +000028 * bgp_route.c: (general) Fix logical bug in clearing, noted
29 by Chris Caputo in [quagga-users 6728] - clearing depended on
30 at least one route being added to workqueue, in order for
31 workqueue completion function to restart FSM. However, if no
32 routes are cleared, then the completion function never is
33 called, it needs to be called manually if the workqueue
34 didn't get scheduled.
35 Finally, clearing is per-peer-session, not per AFI/SAFI, so
36 the FSM synchronisation should be in bgp_clear_route_table.
37 (bgp_clear_route_table) Wrong place for FSM/clearing
38 synchronisation, move to..
39 (bgp_clear_route) FSM/clearing synchronisation should be
40 here.
41 If no routes were cleared, no workqueue scheduled, call
42 the completion func to ensure FSM kicks off again.
Paul Jakmaa3b6ea52006-05-04 07:52:12 +000043
Paul Jakma15aa6a12006-03-30 14:39:35 +0000442006-03-30 Paul Jakma <paul.jakma@sun.com>
45
46 * bgp_community.c: (community_gettoken) Unknown token should
47 return NULL, to give a strong indication to callers that
48 the token no longer can be parsed, otherwise callers looping
49 on this function may have a hard time ending their loop.
50 (community_str2com) While loop around community_gettoken appears
51 to have been coded thinking that break statement would break
52 from the while{}, hence it could never exit for unknown token
53 case. Fix it to do..while, so it can use the NULL result from
54 community_gettoken easily.
55
Paul Jakmaa625ca32006-03-30 14:12:38 +0000562006-03-22 Paul Jakma <paul.jakma@sun.com>
57
58 * bgpd.c: (peer_free) release the per-peer workqueue when
59 freeing the peer.
60
Paul Jakma5304cb52006-03-30 14:01:14 +0000612006-03-19 Paul Jakma <paul.jakma@sun.com>
62
Paul Jakma4bf6a362006-03-30 14:05:23 +000063 * bgpd/bgp_vty.c: Add includes to get several structs we want
64 to provide usage statistics on.
65 (show_bgp_memory_cmd) Show memory usage stats for various
66 notable fixed size objects. Using mtype_stats_alloc and
67 mtype_memstr recently added to memory.c.
68 (bgp_show_summary) Report some additional stats specific to
69 the given BGP instance and/or AFI/SAFI such as table counts,
70 peers, rsclients and peer-groups.
71 (bgp_vty_init) Install show_bgp_memory_cmd.
Paul Jakma5304cb52006-03-30 14:01:14 +000072 * bgp_nexthop.h: Include if.h as a dependent header, for struct
73 connected.
Paul Jakmab51f1262006-03-30 14:09:38 +000074 * bgp_advertise.c: Use a distinct memory type for struct
75 bgp_synchronize.
Paul Jakma5304cb52006-03-30 14:01:14 +000076
Paul Jakmacbdfbaa2006-03-30 13:20:48 +0000772006-03-12 Paul Jakma <paul.jakma@sun.com>
78
79 * bgp_attr.h: (struct attr) rearrange fields to avoid
80 wasted padding between them as much as possible.
81 (attr_count,attr_unknown_count) export new functions to
82 return number of counts of cached attributes.
83 * bgp_attr.c: (attr_count,attr_unknown_count) new functions to
84 return number of counts of cached attributes.
85 * bgp_route.h: (struct bgp_info) rearrange fields to avoid
86 wasted padding.
87 * bgp_table.h: (struct bgp_table) Add a count field, of number
88 of nodes in the table.
89 (struct bgp_node) rearrange fields to avoid
90 wasted padding between them, though I don't think there
91 was any in this case.
92 * bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count.
93 (bgp_table_count) new function to access the table count.
94
Paul Jakma3e0c78e2006-03-06 18:06:53 +0000952006-03-03 Paul Jakma <paul.jakma@sun.com>
96
97 * bgp_route.c: (bgp_clear_node_complete) Doh. When clearing
98 is complete we need to kick off FSM again.
99
Paul Jakma64e580a2006-02-21 01:09:01 +00001002006-02-21 Paul Jakma <paul.jakma@sun.com>
101
102 * bgpd.h: move the clear_node_queue to be peer specific.
103 Add a new peer status flag, PEER_STATUS_CLEARING.
104 * bgp_table.h: (struct bgp_table) Add fields to record afi,
105 safi of the table.
106 (bgp_table_init) Take afi and safi to create table for.
107 * bgp_table.c: (bgp_table_init) record the afi and safi.
108 * bgp_nexthop.c: Update all calls to bgp_table_init.
109 * bgp_vty.c: ditto.
110 * bgpd.c: ditto.
111 * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is
112 clearing.
113 * bgp_route.c: (general) Update all bgp_table_init calls.
114 (bgp_process_{rsclient,main}) clear_node is serialised
115 via PEER_STATUS_CLEARING and fsm now.
116 (struct bgp_clear_node_queue) can be removed. struct bgp_node
117 can be the queue item data directly, as struct peer can be
118 kept in the new wq global user data and afi/safi can be
119 retrieved via bgp_node -> bgp_table.
120 (bgp_clear_route_node) fix to get peer via wq->spec.data,
121 afi/safi via bgp_node->bgp_table.
122 (bgp_clear_node_queue_del) no more item data to delete, only
123 unlock the bgp_node.
124 (bgp_clear_node_complete) only need to unset CLEARING flag
125 and unlock struct peer.
126 (bgp_clear_node_queue_init) queue attaches to struct peer
127 now. record peer name as queue name.
128 (bgp_clear_route_table) If queue transitions to active,
129 serialise clearing by setting PEER_STATUS_CLEARING rather
130 than plugging process queue, and lock peer while queue
131 active.
132 Update to pass only bgp_node as per-queue-item specific data.
Paul Jakma6a419732006-02-21 01:14:13 +0000133 * bgp_vty.c: (bgp_show_summary) Add a 'Clrng' sub-description
134 to state of peer while it's suppressed due to clearing.
Paul Jakma64e580a2006-02-21 01:09:01 +0000135
Paul Jakmaaa94ca82006-02-18 10:49:04 +00001362006-02-18 Paul Jakma <paul.jakma@sun.com>
137
138 * bgp_routemap.c: (route_set_community) Quick, very hacky, fix
139 for the set-community leak, bug #89. True fix will be to
140 detangle the web of *_intern caching and provide saner object
141 caching for Quagga, future work.
Paul Jakma7c7fa1b2006-02-18 10:52:09 +0000142 * bgp_route.c: (bgp_announce_check) trivial, move declaration
143 of two local variables into the only block where they are
144 used, to aid the reader.
Paul Jakmaaa94ca82006-02-18 10:49:04 +0000145
paul902212c2006-02-05 17:51:19 +00001462006-02-05 Paul Jakma <paul.jakma@sun.com>
147
148 * bgp_route.h: Add BGP_INFO_COUNTED to track whether
149 prefix has been counted or not.
150 * bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
151 centralise inc/dec of prefix-count,
152 (bgp_rib_remove) Remove pcount decrement, use helper.
153 (bgp_rib_withdraw) ditto, additionally use previous function
154 too.
155 (bgp_update_main) Use pcount helpers.
156 (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
157 clearing.
paul3fff6ff2006-02-05 17:55:35 +0000158 * bgp_aspath.c: (aspath_gettoken) fix gcc warning about
159 possible uninitialised usage.
paul902212c2006-02-05 17:51:19 +0000160
paul306d8892006-02-02 17:50:19 +00001612006-02-02 Paul Jakma <paul.jakma@sun.com>
162
163 * bgp_route.c: (bgp_{clear_node,process}_queue_init) delay
164 field is removed from workqueue spec.
165
paule8e19462006-01-19 20:16:55 +00001662006-01-19 Paul Jakma <paul.jakma@sun.com>
167
168 * (general) various miscellaneous compiler warning fixes.
169 Remove redundant break statements from switch clauses
170 which return.
171 return from main, not exit, cause it annoys SOS.
172 Remove stray semi-colons which cause empty-statement
173 warnings.
174
pauld3092e72006-01-17 17:33:46 +00001752006-01-17 Paul Jakma <paul.jakma@sun.com>
176
177 * bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.
178 (zlookup_query_ipv6) ditto.
179 (bgp_import_check) ditto.
180
paul02335422006-01-16 11:13:27 +00001812006-01-16 Paul Jakma <paul.jakma@sun.com>
182
183 * bgp_aspath.c: (assegment_append_asns) XREALLOC can return
184 NULL theoretically, take care not to lose the allocated data.
185 (aspath_hash_alloc) aspath_dup already set the aspath
186 string - fix leak.
187 (aspath_parse) aspath_hash_alloc dupes the entire aspath,
188 including segments, but we forgot to free the temporary
189 assegment.
paul8fdc32a2006-01-16 12:01:29 +0000190 (aspath_snmp_pathseg) move the static stream pointer out to
191 file scope, so it can be freed.
192 (aspath_finish) new function, free aspath resources.
193 * bgp_aspath.h: (aspath_finish) export.
paul02335422006-01-16 11:13:27 +0000194
paul37c38302006-01-10 22:15:45 +00001952006-01-10 Juris Kalnins <juris@mt.lv>
196
197 * bgpd.h: (bgp_router_id_unset) ex-function, remove.
198
paulad727402005-11-23 02:47:02 +00001992005-11-23 Paul Jakma <paul.jakma@sun.com>
200
201 * bgp_aspath.c: (assegments_parse) should be static
202
2032005-11-23 Juergen Kammer <j.kammer@eurodata.de>
204
205 * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
206 where one or both paths are empty.
207
paul0fb58d52005-11-14 14:31:49 +00002082005-11-14 Paul Jakma <paul.jakma@sun.com>
209
210 * bgp_route.c: (bgp_process_rsclient) convert to new workqueue
211 specs and shut up gcc, which complains about cast from void
212 via function parameters, for some dumb reason. Do the cast
213 inside the function instead.
214 (bgp_process_main,bgp_processq_del) ditto.
215 (bgp_clear_route_node) ditto.
216 (bgp_clear_node_queue_del) ditto.
217
paul41200852005-11-03 12:52:18 +00002182005-11-03 Paul Jakma <paul.jakma@sun.com>
219
220 * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via
221 the struct bgp_damp_info, no need to guess by using
222 bgp_get_default().
223
ajsf52d13c2005-10-01 17:38:06 +00002242005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
225
226 * bgp_vty.c: (bgp_config_write_redistribute) Use new library function
227 zebra_route_string instead of a local hard-coded table.
228
jardin2d74db52005-10-01 00:07:50 +00002292005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
230
231 * bgp_packet.c: fix compilation when DEBUG is used.
232
paul1f8ae702005-09-09 23:49:49 +00002332005-09-10 Paul Jakma <paul.jakma@sun.com>
234
paulfe69a502005-09-10 16:55:02 +0000235 * Makefile.am: bgpd shouldn't list libgp's sources as its own.
236 Use LDADD.
237 * bgp_aspath.h:
238 (struct assegment) New struct, abstract representation of a
239 list of AS_PATH segments and the contained ASNs.
240 (struct aspath) Remove the raw-data related
241 fields, reference the abstract struct assegment instead.
242 Remove several other computed fields, it's just a
243 headache to maintain them and they're cheap to compute from
244 struct assegment.
245 (aspath_parse) parse a stream, not a pointer to raw data.
246 (aspath_count_{hops,confeds,size}) helpers to access
247 information formerly directly contained in struct aspath.
248 (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants
249 to be able to output hex representation of raw data.
250 * bgp_aspath.c: (general) partial-rewrite. Store aspath data
251 as an abstract singly-linked list of abstract segments,
252 rather than storing the raw data, and parsing it each and
253 every time. Remove several count/size fields which are cheap
254 to compute from the abstract segment structure.
255 (global) Include stream.h, needed for aspath_parse, and
256 others. Couple of helper macros added.
257 (struct assegment_header) Just the header, and only the
258 header.
259 (assegment_data_{new,free}) convenience functions for
260 AS_SEG_DATA allocation, the dynamic, per-segment array of
261 ASNs.
262 (assegment_{new,free,free_all,dup,dup_all}) convenience
263 functions for creating struct assegments. The _all forms will
264 follow the entire chain of segments from the given segment.
265 (assegment_prepend_asns) new function, prepend an ASN N times
266 to segment.
267 (assegment_append_asns) Append a list (array) of ASNs to
268 segment.
269 (int_cmp) convenience function for the aspath hash.
270 (assegment_normalise) new function. Normalise the given
271 segment chain to meet expectations of Quagga, and to
272 eliminate differing raw representations of the same paths.
273 Merge 'runs' of SEQUENCEs into one segment as our internal
274 segment is not limited by the protocol AS_PATH segment
275 length. Sort ASNs in SETs.
276 (aspath_new) Take void argument to quell warnings. Use the
277 assegment convenience functions.
278 (assegment_count_{asns,confeds,hops}) new functions to
279 compute at runtime values previously held in struct aspath.
280 (aspath_size) ditto.
281 (aspath_make_str_count) rewritten to stringify new
282 representation, and to be slightly easier to understand
283 hopefully.
284 (aspath_str_update) convenience function, update the aspath
285 str. Should investigate removing maintained string from
286 struct aspath, just run-time compute it, as per other fields.
287 It's just a maintenance headache, would save noticeable
288 amount of RAM with possibly not much extra run-time cost.
289 (aspath_dup) use the assegment dup functions.
290 (aspath_hash_alloc) Take void * argument to satisfy gcc. Use
291 the proper helper functions to dup data.
292 (assegments_parse) new function. parse raw AS_PATH data into
293 struct assegments. Normalise and return the head of the list.
294 (aspath_parse) Parse a stream, not pointer to raw data and
295 use assegments_parse to do it.
296 (assegment_data_put) Write out a single segment data in protocol
297 form to stream.
298 (assegment_header_put) ditto but for segment header.
299 (aspath_put) new function. As per previous but for an entire
300 struct aspath.
301 (aspath_snmp_pathseg) wrapper around aspath_put for
302 bgp_snmp.c. Uses a static buffer sadly.
303 (aspath_aggregate_as_set_add) rewritten to use assegments.
304 (aspath_aggregate) ditto
305 (aspath_{firstas,loop,private_as}_check) ditto
306 (aspath_{merge,prepend,add_one_as}) ditto
307 (aspath_cmp_left{_confed}) ditto
308 (aspath_delete_confed_seq) ditto, plus fixed to properly
309 delete all leading confed segments.
310 (aspath_as_add) Just use assegment_append_asns.
311 (aspath_segment_add) updated to use assegments.
312 (enum as_token) Add values for confeds
313 (aspath_gettoken) Add support for confeds
314 (aspath_str2aspath) ditto
315 (aspath_key_make) updated to use as_segments. Also, add
316 segment type into the hash value as appropriate.
317 (aspath_cmp) updated to use as_segments.
318 (aspath_print) don't segfault on NULL argument.
319 * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream
320 now. No need for manual forwarding of stream.
321 (bgp_packet_attribute) empty aspath is now denoted by NULL
322 segment field, length is gone.
323 Use aspath_size() to determine size.
324 (bgp_attr_init) Fix declaration, explicitely specify void
325 arg.
326 (bgp_dump_routes_attr) Use aspath_size() to determine size.
327 * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions.
328 (bgp_rib_withdraw) remove unused variable. Use
329 aspath_count_hops.
330 * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use
331 aspath_snmp_pathseg to get the representation.
332
3332005-09-10 Paul Jakma <paul.jakma@sun.com>
334
paul1f8ae702005-09-09 23:49:49 +0000335 * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static
336 function declarations shouldn't be inside functions.
337 * bgp_dump.c: (bgp_dump_interval_add) ditto.
338
hassob7395792005-08-26 12:58:38 +00003392005-08-26 Hasso Tepper <hasso at quagga.net>
340
341 * bgp_route.c: Third (?) attempt to fix best selection breakage
342 introduced long time ago with route server patch. Hopefully
343 it's last case to fix - route-server client not in peer group.
344
paul25ffbdc2005-08-22 22:42:08 +00003452005-08-22 Hugo Santos <hsantos@av.it.pt>
346
347 * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
348 commands and BGP_IPV6M_NODE.
349
paulb40d9392005-08-22 22:34:41 +00003502005-08-22 Paul Jakma <paul.jakma@sun.com>
351
352 * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED.
353 BGP_INFO_VALID is already overloaded, don't care to do same thing
354 to STALE or HISTORY.
355 * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a
356 route which should generally be ignored.
357 * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather
358 than doing actual work, so that bgp_process (called directly,
359 or indirectly via the scanner) can catch withdrawn routes.
360 (bgp_info_reap) Actually remove the route, what bgp_info_delete
361 used to do, only for use by bgp_process.
362 (bgp_best_selection) reap any REMOVED routes, other than the old
363 selected route.
364 (bgp_process_rsclient) reap the old-selected route, if appropriate
365 (bgp_process_main) ditto
366 (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with
367 each other. Don't play games with the VALID flag, bgp_process
368 is async now, so it didn't make a difference anyway.
369 Remove the 'force' argument from bgp_rib_withdraw, withdraw+force
370 is equivalent to bgp_rib_remove. Update all its callers.
371 (bgp_update_rsclient) bgp_rib_withdraw and force set is same as
372 bgp_rib_remove.
373 (route_vty_short_status_out) new helper to print the leading
374 route-status string used in many command outputs. Consolidate.
375 (route_vty_out, route_vty_out_tag, damp_route_vty_out,
376 flap_route_vty_out) use route_vty_short_status_out rather than
377 duplicate.
378 (route_vty_out_detail) print state of REMOVED flag.
379 (BGP_SHOW_SCODE_HEADER) update for Removed flag.
380
hassoe279c7a2005-08-03 17:23:20 +00003812005-08-03 Hasso Tepper <hasso at quagga.net>
382
383 * bgp_routemap.c: Revert part of leaking communities fix commited in
384 2005-05-27. While ecommunity fix seems to be correct, community case
385 isn't.
386
paul94f2b392005-06-28 12:44:16 +00003872005-06-28 Paul Jakma <paul.jakma@sun.com>
388
389 * (global) The great bgpd extern and static'ification.
390 * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code
391 (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison
392 warnings.
393 * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these
394 used by various files which had their own private declarations,
395 in the case of mplsvpn - incorrect.
396
paule210cf92005-06-15 19:15:35 +00003972005-06-15 Paul Jakma <paul.jakma@sun.com>
398
399 * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
400 possible to terminate bgpd before workqueues were setup, causing
401 an abort/crash. Reported by Ashish Mehta of Sun.
402
paul200df112005-06-01 11:17:05 +00004032005-06-01 Paul Jakma <paul.jakma@sun.com>
404
405 * (general) refcount struct peer and bgp_info, hence allowing us
406 add work_queues for bgp_process.
407 * bgp_route.h: (struct bgp_info) Add 'lock' field for refcount.
408 Add bgp_info_{lock,unlock} helper functions.
409 Add bgp_info_{add,delete} helpers, to remove need for
410 users managing locking/freeing of bgp_info and bgp_node's.
411 * bgp_table.h: (struct bgp_node) Add a flags field, and
412 BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of
413 nodes.
414 * bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock
415 peer reference as appropriate.
416 * bgp_damp.c: Remove its internal prototypes for
417 bgp_info_delete/free. Just use bgp_info_delete.
418 * bgpd.h: (struct bgp_master) Add work_queue pointers.
419 (struct peer) Add reference count 'lock'
420 (peer_lock,peer_unlock) New helpers to take/release reference
421 on struct peer.
422 * bgp_advertise.c: (general) Add peer and bgp_info refcounting
423 and balance how references are taken and released.
424 (bgp_advertise_free) release bgp_info reference, if appropriate
425 (bgp_adj_out_free) unlock peer
426 (bgp_advertise_clean) leave the adv references alone, or else
427 call bgp_advertise_free cant unlock them.
428 (bgp_adj_out_set) lock the peer on new adj's, leave the reference
429 alone otherwise. lock the new bgp_info reference.
430 (bgp_adj_in_set) lock the peer reference
431 (bgp_adj_in_remove) and unlock it here
432 (bgp_sync_delete) make hash_free on peer conditional, just in
433 case.
434 * bgp_fsm.c: (general) document that the timers depend on
435 bgp_event to release a peer reference.
436 (bgp_fsm_change_status) moved up the file, unchanged.
437 (bgp_stop) Decrement peer lock as many times as cancel_event
438 canceled - shouldnt be needed but just in case.
439 stream_fifo_clean of obuf made conditional, just in case.
440 (bgp_event) always unlock the peer, regardless of return value
441 of bgp_fsm_change_status.
442 * bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's.
443 (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs
444 along with a comment on it.
445 * bgp_route.c: (general) Add refcounting of bgp_info, cleanup
446 some of the resource management around bgp_info. Refcount peer.
447 Add workqueues for bgp_process and clear_table.
448 (bgp_info_new) make static
449 (bgp_info_free) Ditto, and unlock the peer reference.
450 (bgp_info_lock,bgp_info_unlock) new exported functions
451 (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion,
452 taking care of reference counts.
453 (bgp_info_delete) do the opposite of bgp_info_add.
454 (bgp_process_rsclient) Converted into a work_queue work function.
455 (bgp_process_main) ditto.
456 (bgp_processq_del) process work queue item deconstructor
457 (bgp_process_queue_init) process work queue init
458 (bgp_process) call init function if required, set up queue item
459 and add to queue, rather than calling process functions directly.
460 (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts
461 (bgp_rib_withdraw) ditto
462 (bgp_update_rsclient) let bgp_info_add manage refcounts
463 (bgp_update_main) ditto
464 (bgp_clear_route_node) clear_node_queue work function, does
465 per-node aspects of what bgp_clear_route_table did previously
466 (bgp_clear_node_queue_del) clear_node_queue item delete function
467 (bgp_clear_node_complete) clear_node_queue completion function,
468 it unplugs the process queues, which have to be blocked while
469 clear_node_queue is being processed to prevent a race.
470 (bgp_clear_node_queue_init) init function for clear_node_queue
471 work queues
472 (bgp_clear_route_table) Sets up items onto a workqueue now, rather
473 than clearing each node directly. Plugs both process queues to
474 avoid potential race.
475 (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage
476 bgp_info refcounts.
477 (bgp_static_update_rsclient) ditto
478 (bgp_static_update_main) ditto
479 (bgp_static_update_vpnv4) ditto, remove unneeded cast.
480 (bgp_static_withdraw) see bgp_static_withdraw_rsclient
481 (bgp_static_withdraw_vpnv4) ditto
482 (bgp_aggregate_{route,add,delete}) ditto
483 (bgp_redistribute_{add,delete,withdraw}) ditto
484 * bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer
485 reference
486 (peer_rsclient_unset_vty) ditto, but unlock same reference
487 * bgpd.c: (peer_free) handle frees of info to be kept for lifetime
488 of struct peer.
489 (peer_lock,peer_unlock) peer refcount helpers
490 (peer_new) add initial refcounts
491 (peer_create,peer_create_accept) lock peer as appropriate
492 (peer_delete) unlock as appropriate, move out some free's to
493 peer_free.
494 (peer_group_bind,peer_group_unbind) peer refcounting as
495 appropriate.
496 (bgp_create) check CALLOC return value.
497 (bgp_terminate) free workqueues too.
498
hasso033e8612005-05-28 04:50:54 +00004992005-05-28 Hasso Tepper <hasso at quagga.net>
500
501 * bgp_routemap.c: Sync set_metric_addsub_cmd with ripd.
502
hasso54a6ed32005-05-26 22:12:33 +00005032005-05-27 Hasso Tepper <hasso at quagga.net>
504
hasso70601e02005-05-27 03:26:57 +0000505 * bgp_routemap.c: Stop leaking communities.
506
5072005-05-27 Hasso Tepper <hasso at quagga.net>
508
hasso54a6ed32005-05-26 22:12:33 +0000509 * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
510 deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
511 lists.
512
5132005-05-26 Hasso Tepper <hasso at quagga.net>
hassob6b7cff2005-05-26 08:29:07 +0000514
515 * bgpd.c: Don't crash while deleting list of peer-groups.
516
hassob5f29602005-05-25 21:00:28 +00005172005-05-25 Hasso Tepper <hasso at quagga.net>
518
519 * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
520 neighbor x.x.x.x routemap [export|import] commands work again.
521
paula94feb32005-05-23 13:17:29 +00005222005-05-23 Paul Jakma <paul@dishone.st>
523
524 * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change
paul00d252c2005-05-23 14:19:54 +0000525 * bgp_fsm.h: Add extern qualifier to exported functions
526 * bgp_nexthop.c: add static to nexthop specific globals
527 * *.h: Add guard defines
paula94feb32005-05-23 13:17:29 +0000528
paul22db9de2005-05-19 01:50:11 +00005292005-05-19 Paul Jakma <paul@dishone.st>
530
531 * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
532 * bgp_network.c: (bgp_getsockname) ditto
paule83e2082005-05-19 02:12:25 +0000533 (bgp_accept) use XSTRDUP
paul22db9de2005-05-19 01:50:11 +0000534 * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
535 remove one sockunion_free.
paule83e2082005-05-19 02:12:25 +0000536 * bgpd.c: (peer_delete) ditto.
537 XFREE the correct memtype, not free.
538 (peer_create) use XSTRDUP
539 * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
540 (various) update -> s/bgp_stream_dup/stream_dup
541
paul22db9de2005-05-19 01:50:11 +0000542
ajs634f9ea2005-04-11 15:51:40 +00005432005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
544
545 * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
546 The 2nd arg to zebra_redistribute_send is now zclient instead of
547 zclient->sock.
548
hassoa8a80d52005-04-09 13:07:47 +00005492005-04-09 Akihiro Mizutani <mizutani@net-chef.net>
550
551 * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
552 family node.
553
hasso68118452005-04-08 15:40:36 +00005542005-04-08 Martin Ling <martin-quagga@earth.li>
555
556 * bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
557 the length of confederation path segments to be included during the
558 as-path length check in the best path decision.
559
ajsd2fc8892005-04-02 18:38:43 +00005602005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
561
562 * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
563 to IFINDEX_INTERNAL.
564
hasso6cf159b2005-03-21 10:28:14 +00005652005-03-21 Hasso Tepper <hasso at quagga.net>
566
567 * bgp_route.c: Don't crash while clearing route tables if there is
568 no particular afi/safi configured.
569
hasso338b3422005-02-23 14:27:24 +00005702005-02-23 Hasso Tepper <hasso at quagga.net>
571
572 * bgp_route.c: Make reannouncing prefixes with changed attributes
573 work again.
574
hasso6ffd2072005-02-02 14:50:11 +00005752005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
576
hassodd4c5932005-02-02 17:15:34 +0000577 * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
578 transparent-nexthop" commands.
579
5802005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
581
hassoc1643bb2005-02-02 16:43:17 +0000582 * bgp_routemap.c: New route-map command - "match ip route-source".
583
5842005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
585
hassofee6e4e2005-02-02 16:29:31 +0000586 * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
587 community-list cleanup.
588
5892005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
590
hasso6ffd2072005-02-02 14:50:11 +0000591 * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
592 -> "disable-connected-check".
593
5942005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
hasso93406d82005-02-02 14:40:33 +0000595
596 * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
597 bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
598 graceful-restart" commands added. Show numbers of individual
599 messages in "show ip bgp neighbor" command. Final pieces of graceful
600 restart.
601
hassof4184462005-02-01 20:13:16 +00006022005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
603
hassoc9502432005-02-01 22:01:48 +0000604 * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
605 capability route-refresh" commands. Route refresh capability is sent
606 anyway now. Preserve dummy deprecated commands.
607
6082005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
609
hasso3d515fd2005-02-01 21:30:04 +0000610 * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
611 draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
612 version" command as deprecated.
613
6142005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
615
hasso0a486e52005-02-01 20:57:17 +0000616 * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
617 maximum-prefix limit" feature support.
618
6192005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
620
hassof4184462005-02-01 20:13:16 +0000621 * bgp_nexthop.c: Improve debug.
622 * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
623 function.
624 * bgp_packet.c: MP AFI_IP update and withdraw parsing.
625 * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
626 is better place to log about peer status change than bgp_event().
627 Log in bgp_connect_success().
628 * bgp_vty.c: Fix typo in comment.
629 * bgp_attr.c: Better log about unknown attribute.
630
ajs3b8b1852005-01-29 18:19:13 +00006312005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
632
633 * bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
634 of buffer_getstr.
635 * bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
636 returned by buffer_getstr.
637 (bgp_show_community) Must use XFREE instead of free on string
638 returned by buffer_getstr.
639 * bgp_routemap.c: (set_community) Must use XFREE instead of free
640 on string returned by buffer_getstr.
641 * bgp_vty.c: (neighbor_description) Use argv_concat instead of
642 buffer_getstr.
643
hasso6d694292005-01-24 09:29:42 +00006442005-01-24 Hasso Tepper <hasso at quagga.net>
645
646 * bgp_route.c: Fix showstopper bug. New route must be selected also
647 if old one is flaged as BGP_INFO_ATTR_CHANGED.
648
hassof1271652005-01-17 11:04:32 +00006492005-01-17 Hasso Tepper <hasso at quagga.net>
650
651 * bgp_route.c: Clear peer's routing table regardless whether it's
652 configured or not. Being not configured is even better reason to
653 do it.
654
paula24a7e12005-01-05 08:14:13 +00006552005-01-05 Paul Jakma <paul@dishone.st>
656
657 * bgp_packet.c: (bgp_write) set socket to nonblock while writing
658 this should be generalised. See bugzilla #102. Fix supplied by
659 wawa@yandex-team.ru (Vladimir Ivanov).
660
ajsd2c1f162004-12-08 21:10:20 +00006612004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
662
663 * *.c: Change level of debug messages to LOG_DEBUG.
664
ajs274a4a42004-12-07 15:39:31 +00006652004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
666
667 * bgp_main.c: (main) The 2nd argument to openzlog has been removed.
668
ajs887c44a2004-12-03 16:36:46 +00006692004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
670
671 * bgp_main.c: (sigint) Use zlog_notice for termination message.
672 (main) Use zlog_notice for startup announcement.
673
hassoc0652302004-11-25 19:33:48 +00006742004-11-25 Hasso Tepper <hasso at quagga.net>
675
676 * bgp_main.c: Make group to run as configurable.
677
paul59320202004-11-09 01:54:03 +00006782004-11-09 Paul Jakma <paul@dishone.st>
679
680 * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX
681 and cache{1,2}.. into arrays of tables and hence collapse
682 bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though
683 a long time ago (and this change was hand-merged).
684
ajs5a646652004-11-05 01:25:55 +00006852004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
686
687 * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
688 is deprecated because the output did not represent a single point
689 in time. All output needs to be generated inline and buffered
690 by the library code.
691 (route_vty_out,route_vty_out_tag,damp_route_vty_out,
692 flap_route_vty_out) Remove code to count number of lines of output,
693 since this was only useful for VTY_CONTINUE behavior.
694 (bgp_show_callback,vty_calc_line) Removed.
695 (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
696 As a result, there's a new output_arg argument to this function.
697 Make function static.
698 (bgp_show) Make function static and add a new output_arg argument.
699 Change all functions that call bgp_show or bgp_show_table to
700 pass the new output_arg argument (that used to be passed inside
701 vty->output_arg).
702 * bgp_mplsvpn.c: Remove declarations of functions defined in
703 bgp_route.c; these declarations belong in bgp_route.h.
704 * bgp_route.h: Declare 3 global functions used in both bgp_route.c
705 and in bgp_mplsvpn.c.
706
paula2b1ecd2004-10-31 18:58:09 +00007072004-10-31 Paul Jakma <paul@dishone.st>
708
709 * {bgpd,bgp_attr}.c: size_t printf format should be ld.
710
paul98f51632004-10-25 14:19:15 +00007112004-10-25 Paul Jakma <paul@dishone.st>
712
713 * Update with fix in debian bug id 222930.
714 * bgp_main.c: Add ZCAP_RAW, needed to bind to interfaces.
715 bgp_network.c: (....) raise/lower privs around call to
716 SO_BINDTODEVICE sockopt.
717
hasso3fb9cd62004-10-19 19:44:43 +00007182004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
719
720 * bgp_nexthop.c: (bgp_connected_add) Connected destination pointer
721 may be NULL.
722 (bgp_connected_delete) ditto.
723
hasso501ba492004-10-13 21:32:46 +00007242004-10-14 Hasso Tepper <hasso at quagga.net>
725
726 * bgp_dump.c: Make dump configuration appear in vtysh.
727
hassoc75105a2004-10-13 10:33:26 +00007282004-10-13 Hasso Tepper <hasso at quagga.net>
729
730 * bgp_snmp.c: Remove defaults used to initialize smux connection to
731 snmpd. Connection is initialized only if smux peer is configured.
hasso8b3126b2004-10-13 20:59:04 +0000732 * bgp_view.c: It's dead file. Reomved.
hassoc75105a2004-10-13 10:33:26 +0000733
paulfd79ac92004-10-13 05:06:08 +00007342004-10-13 Paul Jakma <paul@dishone.st>
735
736 * (global) more const'ification and fixups of types to clean up code.
737 * bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect,
738 should use something like the VTY_GET_INTEGER macro, but without
739 the vty_out bits..
740 * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE
741 (no_set_aggregator_as) ditto.
742 * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is
743 returned, add comments about troublesome return value.
744
hasso18a6dce2004-10-03 18:18:34 +00007452004-10-03 James R. Leu <jleu at mindspring.com>
746
747 * bgp_vty.c: Router id from zebra can be manually overriden.
748 * bgp_zebra.c: Read router id related messages from zebra daemon.
749 Remove own code related with router id selection.
750 * bgpd.c, bgpd.h: Remove own router id selection code. Use the one
751 from zebra daemon if it isn't manually overriden.
752
hassoc9e52be2004-09-26 16:09:34 +00007532004-09-26 Hasso Tepper <hasso at quagga.net>
754
755 * bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings.
756
hasso52dc7ee2004-09-23 19:18:23 +00007572004-09-23 Hasso Tepper <hasso at quagga.net>
758
759 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
760
paule01f9cb2004-07-09 17:48:53 +00007612004-07-09 Paul Jakma <paul@dishone.st>
762
763 * Merge of GNU Zebra cvs2svn changesets r799, r800 and r807.
764 * bgp_dump.c: (bgp_dump_attr) cleanup. return status code. check
765 attributes present before printing.
766 * bgp_dump.c: update bgp_dump_attr prototype.
767 * bgp_packet.c: (bgp_update_receive) init attrstr. check status
768 of bgp_dump_attr. Log end-of-rib UPDATEs.
769
paulf5ba3872004-07-09 12:11:31 +00007702004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
771
772 * bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
773 if that is connection we're closing.
774 (bgp_read) invalid marker check applies to KEEPALIVE too.
775 * bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
776
paul5228ad22004-06-04 17:58:18 +00007772004-06-04 Paul Jakma <paul@dishone.st>
778
779 * type mismatch fixes
780
hasso538621f2004-05-21 09:31:30 +00007812004-05-21 Akihiro Mizutani <mizutani@net-chef.net>
782
783 * bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c:
784 Graceful restart capability display.
785
hasso3950fda2004-05-20 10:22:49 +00007862005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
787
788 * bgp_debug.c: Cosmetical fixes and log neighbor changes.
789
hasso4372df72004-05-20 10:20:02 +00007902004-05-20 Akihiro Mizutani <mizutani@net-chef.net>
791
792 * bgp_ecommunity.c: Transit ecommunity support.
793 * bgp_ecommunity.c: Fix for unknown community crush.
794
hassoe0701b72004-05-20 09:19:34 +00007952005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
796
797 * *: Maximum prefix threshold support.
798 * *: Reset notification fixups.
799
paul0a589352004-05-08 11:48:26 +00008002004-05-08 Paul Jakma <paul@dishone.st>
801
802 * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes
803 (bgp_interface_address_delete) ditto.
804 (bgp_zebra_announce) ditto.
805 (bgp_zebra_withdraw) ditto.
806
paulc5317402004-05-03 13:25:06 +00008072004-05-03 Daniel Roesen <dr@cluenet.de>
808
809 * bgp_fsm.c: (bgp_stop) Reset uptime only on transition from
810 Established so that it reflects true downtime (rather time
811 since last transition, eg Active->Idle)
812
paul35be31b2004-05-01 18:17:04 +00008132004-05-01 rivo nurges <rix@estpak.ee>
814
815 * bgp_route.c: fix UNH IOL BGP-4.1.12f
816
pauleb821182004-05-01 08:44:08 +00008172004-05-01 Paul Jakma <paul@dishone.st>
818
819 * Revert the attempted clean-up of the dummy peer hack, reverts
820 patchsets 435 (see 2004-02-17 below) and 456.
821
paul545acaf2004-04-20 15:13:15 +00008222004-04-16 rivo nurges <rix@estpak.ee>
823
hasso9b87e412004-04-20 16:54:49 +0000824 * bgpd.h, bgp_debug.c: update cease subcodes to
825 draft-ietf-idr-cease-subcode-05
paul545acaf2004-04-20 15:13:15 +0000826 * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a
827
paul6ad23f02004-02-17 19:45:10 +00008282004-02-17 Paul Jakma <paul@dishone.st>
829
830 * bgpd.h: (bgp_peer) add fd_local and fd_accept
831 file descriptor's, fd becomes a pointer to one of these.
832 * bgpd.c: (global) adjust for fact that fd is now a pointer.
833 (peer_create_accept) removed.
834 * bgp_route.c: (global) adjust for change of peer fd to pointer
835 * bgp_packet.c: (bgp_collision_detect) adjust and remove the
836 "replace with other peer" hack.
837 * bgp_network.c: (bgp_accept) Remove the dummy peer hack.
838 Update peer->fd_accept instead.
839 (global) Adjust fd references - now a pointer.
840 * bgp_fsm.c: (global) adjust peer fd to pointer.
841 (bgp_connection_stop) new function, to stop connection.
842 (global) adjust everything which closed peer fd to use
843 bgp_connection_stop().
844
gdt10d60ad2003-12-23 17:34:39 +00008452003-12-23 Krzysztof Oledzki <oleq@ans.pl>
846
847 * bgp_network.c: drop privs on error cases
848
paul6ad23f02004-02-17 19:45:10 +00008492003-08-11 kunihiro <kunihiro@zebra.org>
paulac41b2a2003-08-12 05:32:27 +0000850
851 * bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
852 ability to specify 'peer-address' rather than IP.
853
paul9238b1e2003-06-11 08:03:08 +00008542003-06-09 Paul Jakma <paul@dishone.st>
855
856 * bgp_clist.c (community_list_delete): honour deny statements
857
paul445f1432003-05-16 19:00:31 +00008582003-04-19 Hasso Tepper <hasso@estpak.ee>
859
860 * rip_routemap.c: sync daemon's route-map commands to have same
861 syntax
862
8632003-01-09 Akihiro Mizutani <mizutani@net-chef.net>
864
865 * bgp_routemap.c: Add match extcommunity command.
866
paul718e3742002-12-13 20:15:29 +00008672002-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
868
869 * bgp_aspath.c (aspath_init): Extend hash size from default to
870 32767.
871 (aspath_key_make): Use unsigned shoft for making hash. Suggested
872 by: Marc Evans <Marc@SoftwareHackery.Com>
873
8742002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
875
876 * bgp_clist.c (community_entry_free): Fix memory leak of standard
877 extcommunity-list config string.
878
8792002-08-19 Akihiro Mizutani <mizutani@net-chef.net>
880
881 * bgp_route.c (route_vty_out_detail): Fix bug of router-id display
882 when multiple instance is used.
883
8842002-08-18 Akihiro Mizutani <mizutani@net-chef.net>
885
886 * bgpd.c: Make "default-originate" and "maximum-prefix" commands
887 available in peer-group configuration.
888
8892002-08-13 Akihiro Mizutani <mizutani@net-chef.net>
890
891 * bgp_packet.c (bgp_open_send): Put Opt Parm Len 0 when last
892 capability packet cause error or dont-capability-negotiate option
893 is specified.
894
8952002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
896
897 * zebra-0.93 released.
898
8992001-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
900
901 * bgpd.c (bgp_vty_init): Translate update commands are removed.
902
9032001-10-10 Kunihiro Ishiguro <kunihiro@zebra.org>
904
905 * bgp_route.c (bgp_static_set): Add workaround for BGP static
906 route announcement when there is no zebra running.
907
9082001-10-08 Kunihiro Ishiguro <kunihiro@zebra.org>
909
910 * bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri
911 unicast multicast" commands.
912
9132001-09-14 Akihiro Mizutani <mizutani@dml.com>
914
915 * bgp_open.c: When we receive capability route-refresh, we should
916 check we send the capability not we receive the capability.
917
918 * bgp_route.c (bgp_network_mask_natural_route_map): network
919 statement route-map is added.
920
9212001-08-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
922
923 * bgp_advertise.c (bgp_advertise_intern): attr must be interned
924 before looking up hash table.
925
9262001-08-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
927
928 * bgpd.h (struct peer): BGP filter is moved from peer_conf to
929 peer.
930
9312001-08-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
932
933 * bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug.
934 Suggested by: "Hong-Sung Kim" <hoskim@lanbird.co.kr>.
935
9362001-08-26 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
937
938 * bgp_table.c (bgp_node_create): Clearn memory before use it.
939
9402001-08-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
941
942 * Change to use bgp_table.[ch].
943
9442001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
945
946 * bgpd.c (bgp_init): Add "transparent-as" and
947 "transparent-nexthop" for old version compatibility.
948
9492001-08-23 Akihiro Mizutani <mizutani@dml.com>
950
951 * bgpd.h (struct peer): default-originate route-map is added.
952
953 * bgp_route.c: When self originated route is advertised with
954 attrubute-unchanged, nexthop was not properly set. This bug is
955 fixed.
956
9572001-08-22 Akihiro Mizutani <mizutani@dml.com>
958
959 * bgpd.c (neighbor_attr_unchanged): transparent-as and
960 transparent-next-hop commands are restructured. Instead of
961 current transparent-* commands, attribute-unchanged command is
962 introduced.
963
964 neighbor A.B.C.D attribute-unchanged [as-path|next-hop|med]
965
966 (neighbor_default_originate): "default-originate" configuration
967 announce default route even 0.0.0.0/0 does not exists in BGP RIB.
968
9692001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
970
971 * zebra-0.92a released.
972
9732001-08-19 Akihiro Mizutani <mizutani@dml.com>
974
975 * bgpd.c: AF specific soft-reconfiguration inbound commands are
976 added.
977
9782001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
979
980 * bgp_route.c (bgp_show_callback): Do not do community NULL check.
981
982 * bgp_community.c (community_cmp): Add check for commnunity NULL
983 check.
984
985 * bgp_routemap.c (route_match_community): Do not check comunity is
986 NULL. It may match to community-list "^$".
987
988 * bgp_community.c (community_match): Add check for community is
989 NULL case.
990
9912001-08-17 Akihiro Mizutani <mizutani@dml.com>
992
993 * bgpd.c: AF specific route-reflector-client and
994 route-server-client configuration are added.
995
9962001-08-17 Rick Payne <rickp@ayrnetworks.com>
997
998 * bgp_clist.c (community_match_regexp): Check special ^$ case.
999
10002001-08-17 Akihiro Mizutani <mizutani@dml.com>
1001
1002 * bgp_clist.c (community_list_match): Fix bug of community list
1003 permit and deny check.
1004
10052001-08-16 Akihiro Mizutani <mizutani@dml.com>
1006
1007 * bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self"
1008 command.
1009
10102001-08-15 Akihiro Mizutani <mizutani@dml.com>
1011
1012 * bgpd.h (PEER_FLAG_SEND_COMMUNITY): Per AF based configuration
1013 flag is introduced.
1014
1015 * bgp_mplsvpn.c (bgp_mplsvpn_init): VPNv4 filtering is added.
1016
10172001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1018
1019 * zebra-0.92 released.
1020
10212001-08-13 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1022
1023 * bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib
1024 table properly.
1025
10262001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1027
1028 * bgp_route.c (bgp_node_safi): Return SAFI of current node.
1029 (bgp_config_write_network_vpnv4): VPNv4 static configuration
1030 display.
1031
10322001-08-11 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1033
1034 * bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast
1035 node filter commands.
1036
10372001-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1038
1039 * bgpd.h (PEER_FLAG_IGNORE_LINK_LOCAL_NEXTHOP): Add
1040 "ignore-link-local-nexthop" flag for ignore link-local nexthop for
1041 IPv6.
1042
10432001-08-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1044
1045 * bgpd.c (address_family_ipv4_multicast): "address-family ipv4
1046 multicast" is added.
1047 (address_family_ipv6_unicast): "address-family ipv6 unicast" is
1048 added.
1049
10502001-08-07 Akihiro Mizutani <mizutani@dml.com>
1051
1052 * bgp_route.c (bgp_process): Use flag instead of as_selected
1053 memeber in struct bgp_info.
1054
1055 * bgp_route.h (struct bgp_info): Remove as_selected memeber from
1056 struct bgp_info.
1057
10582001-07-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1059
1060 * bgp_route.c (bgp_announce_check): Enclose sending time AS loop
1061 check code with #ifdef BGP_SEND_ASPATH_CHECK.
1062
10632001-07-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1064
1065 * bgp_packet.c (bgp_withdraw_send): Simplify address family check.
1066
1067 * bgpd.h (BGP_INFO_HOLDDOWN): Introduce new macro to check BGP
1068 information is alive or not.
1069
1070 * bgp_community.c: Use community_val_get() on all OS.
1071
10722001-07-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1073
1074 * bgp_route.c (bgp_announce_check): Simplify set next-hop self
1075 check.
1076
10772001-07-24 Akihiro Mizutani <mizutani@dml.com>
1078
1079 * bgp_route.c (bgp_announce_check): To route server clients, we
1080 announce AS path, MED and nexthop transparently.
1081
10822001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1083
1084 * bgp_routemap.c (route_set_atomic_aggregate_free): Do not call
1085 XFREE. No memory is allocated in
1086 route_set_atomic_aggregate_compile().
1087
10882001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1089
1090 * bgp_routemap.c (bgp_route_map_init): `match nlri` and `set nlri`
1091 are replaced by `address-family ipv4` and `address-family vpnvr'.
1092
10932001-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1094
1095 * bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED.
1096 Reported by Rick Payne <rickp@rossfell.co.uk>.
1097
10982001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1099
1100 * bgp_zebra.c (bgp_zebra_announce): When global IPv6 nexthop is
1101 empty, use socket's remote address for the nexthop.
1102
11032001-06-04 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1104
1105 * bgpd.c (peer_delete): Fix memory leak. Reported by Yosi Yarchi
1106 <Yosi_Yarchi@KereniX.com>
1107
11082001-06-01 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1109
1110 * bgpd.c (bgp_delete): Fix memory leak. Reported by Yosi Yarchi
1111 <Yosi_Yarchi@KereniX.com>
1112
11132001-05-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1114
1115 * bgp_route.c (bgp_route_clear_with_afi_vpnv4): Use next instead
1116 of ri->next.
1117
1118 * bgp_packet.c (bgp_withdraw_send): MPLS/VPN withdraw takes effect
1119 when HAVE_IPV6 is not defined.
1120
11212001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1122
1123 * bgpd.c (peer_timers_set): Adjust keepalive timer to fit less
1124 than holdtime / 3.
1125 (bgp_confederation_peers_unset): Only set peer->local_as when
1126 confederation is enabled.
1127 (bgp_timers): Add "timers bgp <0-65535> <0-65535>" command.
1128
1129 * bgp_route.c (bgp_announce_check): Set med of redistributed route
1130 when it is announced to EBGP peer.
1131
11322001-03-06 "Akihiro Mizutani" <mizutani@dml.com>
1133
1134 * bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for
1135 all prefixes.
1136
11372001-03-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1138
1139 * bgp_attr.c (bgp_attr_origin): When bgpd send NOTIFICATION with
1140 erroneous attribute (type, length and value), it does include
1141 attribute flags field.
1142
11432001-02-21 "Akihiro Mizutani" <mizutani@dml.com>
1144
1145 * bgp_route.c (bgp_announce_check): The route reflector is not
1146 allowed to modify the attributes of the reflected IBGP routes.
1147
11482001-02-20 "Akihiro Mizutani" <mizutani@dml.com>
1149
1150 * bgp_route.c (bgp_info_cmp): During path seleciton, BGP
1151 confederation peer is treated as same as IBGP peer.
1152
11532001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1154
1155 * bgp_route.c (bgp_redistribute_add): Initialize attr_new with
1156 attr. Call aspath_unintern when return from this function.
1157
11582001-02-19 "Akihiro Mizutani" <mizutani@dml.com>
1159
1160 * bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is
1161 changed.
1162
11632001-02-18 "Akihiro Mizutani" <mizutani@dml.com>
1164
1165 * bgp_packet.c (bgp_open_receive): When user configure holdtimer,
1166 do not refrect the value to current session.
1167
11682001-02-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1169
1170 * bgp_route.c (bgp_aggregate_delete): Set BGP_INFO_ATTR_CHANGE to
1171 suppress route withdraw.
1172
1173 * bgp_damp.c (bgp_damp_init): Fix bug of flap dampening.
1174
11752001-02-16 "Akihiro Mizutani" <mizutani@dml.com>
1176
1177 * bgp_aspath.c (aspath_make_str_count): Use ',' for separator for
1178 AS_SET and AS_CONFED_SET.
1179
11802001-02-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1181
1182 * bgp_route.c (bgp_process): Do not consider suppress route.
1183
1184 * bgp_aspath.c (aspath_aggregate_as_set_add): Reset asset when
1185 aspath->data is realloced.
1186
11872001-02-15 "Akihiro Mizutani" <mizutani@dml.com>
1188
1189 * bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic
1190 aggregate when using as-set.
1191
11922001-02-14 "Akihiro Mizutani" <mizutani@dml.com>
1193
1194 * bgpd.c (bgp_confederation_peers_unset): Set peer's local-as
1195 correctly.
1196
1197 * bgp_route.c (bgp_update): Just ignore AS path loop for
1198 confederation peer.
1199
12002001-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1201
1202 * bgp_route.c (bgp_aggregate_set): Add as_set argument.
1203 (bgp_aggregate_unset): Remove summary_only argument.
1204 (aggregate_address_as_set): New commands.
1205 "aggregate-address A.B.C.D/M as-set"
1206 "no aggregate-address A.B.C.D/M as-set"
1207
12082001-02-08 "Akihiro Mizutani" <mizutani@dml.com>
1209
1210 * bgp_route.c (bgp_announce_check): Do not modify nexthop when the
1211 route is passed by route reflector.
1212
12132001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1214
1215 * bgp_route.c: "no bgp dampening" with argument.
1216 (bgp_announce_check): Do not modify nexthop when the route is
1217 passed by route reflector.
1218
12192001-02-07 "Akihiro Mizutani" <mizutani@dml.com>
1220
1221 * bgpd.c (neighbor_passive): Change "neighbor NEIGHBOR remote-as
1222 ASN passive" to "neighbor NEIGHBOR passive".
1223 (bgp_announce_check): Check well-known community attribute even
1224 when "no neighbor send-community" is set.
1225
12262001-02-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1227
1228 * bgp_fsm.c (bgp_establish): Do not send keepalive at established
1229 time when keepalive timer is configured as zero.
1230
12312001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1232
1233 * bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local
1234 preference is well-known attribute.
1235
12362001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1237
1238 * zebra-0.91 is released.
1239
1240 * bgp_attr.h (struct attr): Comment out DPA value.
1241 (struct attr): Change refcnt type from int to unsinged long.
1242
1243 * bgp_attr.c (attrhash_key_make): Likewise.
1244 (attrhash_cmp): Likewise.
1245 (bgp_attr_dpa): Likewise.
1246
12472001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1248
1249 * bgp_route.c (bgp_info_cmp): Make route selection completely same
1250 as Cisco's.
1251
12522001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1253
1254 * bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to
1255 BGP_ATTR_FLAG_* to clarify meenings.
1256
12572001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1258
1259 * bgp_route.c (route_vty_out): Display argument to suppress same
1260 prefix information display.
1261 (route_vty_out_route): Don't display mask information for
1262 classfull network.
1263
12642001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1265
1266 * bgp_attr.h (SET_BITMAP): Simple bitmapping macros.
1267
1268 * bgp_attr.c (bgp_attr_parse): Use bitmap for attribute type
1269 check.
1270
12712001-01-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1272
1273 * bgp_attr.c (bgp_mp_reach_parse): Enclose loggin with BGP_DEBUG.
1274 (bgp_attr_parse): Comment out well-known attribute check.
1275
12762001-01-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1277
1278 * bgp_route.c (bgp_static_unset): Link-local IPv6 address can't be
1279 used for network advertisement.
1280 (nlri_parse): When link-local IPv6 address NLRI comes from
1281 remote-peer, log the information then simply ignore it.
1282
1283 * bgp_zebra.c (zebra_read_ipv6): Link-local IPv6 address is not
1284 redistributed.
1285
1286 * bgp_route.c (bgp_update): Check IPv6 global nexthop
1287 reachability.
1288
12892001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1290
1291 * bgp_route.c (bgp_update): Check nexthop points local address or
1292 not.
1293 (bgp_static_update_vpnv4): Set valid flag.
1294
1295 * bgp_attr.c (bgp_attr_parse): Duplicate attribute check.
1296 (bgp_attr_parse): Well-known attribute check.
1297
1298 * bgp_open.c (bgp_auth_parse): Authentication is not yet supported.
1299
1300 * bgp_packet.c (bgp_valid_marker): Check marker is synchronized.
1301
1302 * bgpd.c (clear_bgp): Send NOTIFICATION Cease when SEND_CEASE is
1303 defined.
1304
1305 * bgp_snmp.c (bgp4PathAttrTable): Fix compile error.
1306
13072001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1308
1309 * bgpd.c (bgp_network_import_check): New command for IGP network
1310 check.
1311
13122001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1313
1314 * bgp_nexthop.c (bgp_scan): Run bgp_process when IGP metric is
1315 changed. Call bgp_process once for each node.
1316
13172001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1318
1319 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1320
13212001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1322
1323 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1324
1325 * bgp_nexthop.c (bgp_nexthop_lookup): Set IGP metric for valid
1326 IBGP route.
1327
13282001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1329
1330 * bgp_route.c (show_ip_bgp_prefix_longer): Add new commands.
1331 "show ip bgp A.B.C.D/M longer-prefixes"
1332 "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes"
1333 "show ipv6 bgp X:X::X:X/M longer-prefixes"
1334 "show ipv6 mbgp X:X::X:X/M longer-prefixes"
1335
13362001-01-20 "Akihiro Mizutani" <mizutani@dml.com>
1337
1338 * bgp_route.c (show_ip_bgp_cidr_only): Add new commands.
1339 "show ip bgp cidr-only"
1340 "show ip bgp ipv4 (unicast|multicast) cidr-only"
1341
13422001-01-18 "Akihiro Mizutani" <mizutani@dml.com>
1343
1344 * bgp_route.c (bgp_update): AS path lookup check is done in
1345 bgp_update() not in attr_parse().
1346
13472001-01-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1348
1349 * bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just
1350 before bgp_attr_unintern().
1351
13522001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1353
1354 * bgp_route.c (bgp_update): Now intern is performed very last part
1355 of the BGP packet update procedure.
1356
13572001-01-17 "Akihiro Mizutani" <mizutani@dml.com>
1358
1359 * bgp_route.c (bgp_update): When implicit withdraw occur, reuse
1360 existing bgp_info structure.
1361
13622001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1363
1364 * bgp_route.c (bgp_aggregate_decrement): Fix bug of aggregate
1365 address matching method.
1366 (bgp_update):
1367
1368 * bgp_nexthop.c (bgp_nexthop_onlink): Separate EBGP nexthop onlink
1369 check and IBGP nexthop route check.
1370
13712001-01-16 "Akihiro Mizutani" <mizutani@dml.com>
1372
1373 * bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute
1374 change.
1375
13762001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1377
1378 * bgp_route.h (struct bgp_info): Remove selected flag. Use
1379 BGP_INFO_SELECTED for flags instead.
1380 (struct bgp_info): Remove valid flag. Use BGP_INFO_VALID for
1381 flags instead.
1382 (struct bgp_info): Add igpmetric for IBGP route nexthop IGP
1383 metric.
1384 (struct bgp_info_tab): Struct bgp_info_tag is integrated into
1385 struct bgp_info.
1386 (BGP_INFO_ATRR_CHANGED): Added for track attribute change.
1387
1388 * bgp_community.c (community_val_get): gcc-2.95 on
1389 sparc-sun-solaris cause crush. This function is for avoid the
1390 crush.
1391
13922001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1393
1394 * bgp_packet.c (bgp_open_receive): Translated peer's packet_size
1395 clear bug is fixed.
1396
13972001-01-14 "Akihiro Mizutani" <mizutani@dml.com>
1398
1399 * bgp_packet.c (bgp_open_receive): Return notification with
1400 supported version number.
1401
14022001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1403
1404 * bgpd.c (bgp_show_summary): Display AS path and community
1405 entries. Suggested by: "Matt Ranney" <mjr@ranney.com>.
1406
1407 * bgp_packet.c (bgp_read_packet): Fix bug of unblocking BGP socket
1408 read. When BGP packet read is partial, we must get size and type
1409 from packet again.
1410
14112001-01-12 "Akihiro Mizutani" <mizutani@dml.com>
1412
1413 * bgp_route.c (bgp_update): Do not unset BGP_INFO_HISTORY flag.
1414 (bgp_update): When there is a history entry increment route count.
1415 (bgp_damp_set): Check BGP_CONFIG_DAMPENING flag.
1416
1417 * bgp_damp.c (bgp_damp_withdraw): Set status to
1418 BGP_DAMP_DISCONTINUE.
1419
14202001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1421
1422 * bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second
1423 IPv6 nexthop is not link-local addresss.
1424
14252001-01-11 "Akihiro Mizutani" <mizutani@dml.com>
1426
1427 * bgp_damp.c (bgp_config_write_damp): Smart flap dampening
1428 configuration display.
1429 (bgp_damp_info_print): Display elapsed time from flap started.
1430
1431 * bgp_damp.h (struct bgp_damp_info): Add flap start time.
1432
1433 * bgpd.c (peer_create): Set last read time.
1434 (bgp_show_peer): Display last read time.
1435 (bgp_show_summary): Use BGP_CONFIG_DAMPENING flag to check
1436 configuration.
1437
1438 * bgpd.h (BGP_CONFIG_DAMPENING): Add new configuration option.
1439 (struct peer): Add last read time member.
1440 (BGP_VERSION_MP_4): Remove obsolete definition.
1441
14422001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1443
1444 * bgp_nexthop.c: Remove OLD_RIB codes.
1445
1446 * bgp_route.c (bgp_process): Likewise.
1447
1448 * zebra-0.90 is released.
1449
1450 * bgp_route.h (BGP_INFO_HISTORY): Remove damped member from struct
1451 bgp_info. Instead of that use BGP_INFO_DAMPED flag.
1452 (struct bgp_info): Remove invalid member from struct bgp_info.
1453 Instead of that use BGP_INFO_HISTORY flag.
1454
14552001-01-10 "Akihiro Mizutani" <mizutani@dml.com>
1456
1457 * bgp_damp.c (bgp_damp_info_print): New function to display
1458 dampening status.
1459 (DEFAULT_HARF_LIFE): Define default value.
1460 (DEFAULT_REUSE): Likewise.
1461 (DEFAULT_SUPPRESS): Likewise.
1462 (bgp_config_write_damp): When config value is same as default
1463 value, simply display "bgp dampening" to configuration.
1464
1465 * bgp_damp.h (struct bgp_damp_info): Add flap member.
1466
1467 * bgp_route.h (struct bgp_info): Added for BGP flap dampening
1468 history status.
1469
14702001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1471
1472 * bgp_nexthop.c (bgp_connected_add): Point-to-point connected
1473 address is properly handled.
1474 (bgp_connected_delete): Likewise.
1475
1476 * bgp_route.c (bgp_route_init): Turn off BGP Flap dampening code
1477 until it works fine.
1478
14792001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1480
1481 * bgpd.c (bgp_show_summary): Add BGP_VERSION_MP_4 case.
1482
1483 * bgp_route.c (bgp_update): When this is not damped route, clear
1484 ri pointer.
1485
14862001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1487
1488 * bgp_main.c: Add "-n" no_kernel option to not install route to
1489 kernel. Suggested by: "Matt Ranney" <mjr@ranney.com>
1490
14912001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1492
1493 * bgp_nexthop.c (bgp_connected_add): Revert point-to-point
1494 connected route patch. Reported by ruud@ruud.org (Ruud de Rooij)
1495
1496 * bgp_damp.c (bgp_config_write_damp): Add configuration display
1497 function.
1498
1499 * bgp_route.c (bgp_info_free): Set NULL to BGP dampening
1500 information when BGP info structure is freed.
1501 (bgp_info_cmp): Check damped flag.
1502 (bgp_announce_check): Damped route is not announced.
1503
15042001-01-09 "Akihiro Mizutani" <mizutani@dml.com>
1505
1506 * bgpd.c (neighbor_capability_route_refresh): Change "neighbor
1507 route-refresh" command to "neighbor capability route-refresh".
1508 (clear_bgp_soft_in): Change soft-reconfig method.
1509
1510 clear ip bgp <neighbor> soft in
1511 --------------------------------------
1512 Try stored cache first then route-refresh
1513
1514 clear ip bgp <neighbor> in
1515 ---------------------------------
1516 Try route-refresh first then try to use stored cache
1517
15182001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1519
1520 * bgp_nexthop.c (bgp_connected_add): Check point-to-point
1521 connected route. Reported by ruud@ruud.org (Ruud de Rooij)
1522
15232001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1524
1525 * bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is
1526 changed, refresh it.
1527
15282001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1529
1530 * bgp_route.h (struct bgp_info_tag): Add as_selected to
1531 bgp_info_tag.
1532
15332001-01-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1534
1535 * bgp_route.h (struct bgp_info_tag): Add damped and bgp_damp_info
1536 member for BGP flap dampening.
1537
1538 * bgp_damp.c: New file is added.
1539
1540 * bgp_damp.h: Likewise.
1541
15422001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1543
1544 * bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd".
1545
15462000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1547
1548 * bgp_nexthop.c (zlookup_connect): Change to use UNIX domain
1549 socket for zebra communication.
1550
15512000-12-29 Akihiro Mizutani <mizutani@dml.com>
1552
1553 * bgp_route.c (bgp_process): Fix "bgp deterministic-med" process.
1554
15552000-12-27 Akihiro Mizutani <mizutani@dml.com>
1556
1557 * bgp_route.c (bgp_process): Add "bgp deterministic-med" process.
1558
15592000-12-25 Akihiro Mizutani <mizutani@dml.com>
1560
1561 * bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID.
1562
15632000-12-18 Akihiro Mizutani <mizutani@dml.com>
1564
1565 * bgp_route.c (bgp_info_cmp): When over three same prefix exit,
1566 withdrawing best prefix perform router ID comparison.
1567
15682000-12-15 Akihiro Mizutani <mizutani@dml.com>
1569
1570 * bgp_route.c (bgp_info_cmp): Do not compare router ID when the
1571 routes comes from EBGP peer. When originator ID is same, take
1572 shorter cluster-list route. If cluster-list is same take smaller
1573 IP address neighbor's route.
1574
1575 * bgpd.c (bgp_bestpath_aspath_ignore): Add "bgp bestpath as-path
1576 ignore" command. When this option is set, do not concider AS path
1577 length when route selection.
1578 (bgp_bestpath_compare_router_id): Add "bgp bestpath
1579 compare-routerid". When this option is set, compare router ID
1580 when the routes comes from EBGP peer.
1581
15822000-12-15 Akihiro Mizutani <mizutani@dml.com>
1583
1584 * bgp_route.c (bgp_info_cmp): Compare originator ID when it is
1585 available.
1586
15872000-12-14 Akihiro Mizutani <mizutani@dml.com>
1588
1589 * bgp_packet.c (bgp_notify_receive): Disply received Notify data
1590 information.
1591
15922000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1593
1594 * bgp_filter.c (as_filter_free): Use MTYPE_AS_FILTER_STR to make
1595 it sure the memory is freed.
1596
1597 * bgp_route.c (route_vty_out_detail): Do not use AF_INET6 outside
1598 HAVE_IPV6.
1599
16002000-12-08 Akihiro Mizutani <mizutani@dml.com>
1601
1602 * bgp_packet.c (bgp_notify_send_with_data): Store BGP notification
1603 data part.
1604
1605 * bgp_network.c (bgp_accept): When BGP connection comes from
1606 unconfigured IP address, close socket immediately.
1607
1608 * bgpd.c: Fix some display format.
1609
16102000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1611
1612 * bgp_packet.c (bgp_keepalive_send): Delete duplicate
1613 bgp_packet_set_size () call.
1614
16152000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1616
1617 * bgp_packet.c (bgp_read_packet): Remove debug codes.
1618
16192000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1620
1621 * bgp_snmp.c (write_bgpPeerTable): Add SNMP set method routine.
1622
1623 * bgp_fsm.c (bgp_stop): Use fsm_change_status to change peer's
1624 status.
1625 (bgp_establish): Likewise.
1626
16272000-11-26 Akihiro Mizutani <mizutani@dml.com>
1628
1629 * bgp_open.c: Fix error messages.
1630
16312000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1632
1633 * bgp_fsm.c (bgp_establish): Call BGP trap when the peer is
1634 established.
1635 (bgp_stop): Call BGP trap when the peer is dropped.
1636
16372000-11-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1638
1639 * bgp_snmp.c (bgp4PathAttrTable): Return BGP path attribute table.
1640
1641 * bgpd.h (struct peer): Add update_time for track last update
1642 received time.
1643
1644 * bgp_packet.c (bgp_notify_receive): Preserv notify code and sub
1645 code in any case.
1646
1647 * bgp_snmp.c (bgpPeerTable): Return remote router ID instead of
1648 peering IP address.
1649 (bgpPeerTable): Return actual BGP version number.
1650
16512000-11-22 Akihiro Mizutani <mizutani@dml.com>
1652
1653 * bgp_debug.c (bgp_notify_print): Notify data length display bug
1654 is fixed.
1655
16562000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1657
1658 * bgp_nexthop.c (zlookup_connect): When UNIX domain connection to
1659 zebra is enabled, use the method.
1660
16612000-11-16 Akihiro Mizutani <mizutani@dml.com>
1662
1663 * bgpd.c: Revise debug message output.
1664
16652000-11-15 Akihiro Mizutani <mizutani@dml.com>
1666
1667 * bgp_clist.c (ip_community_list): Fix bug of string comparison.
1668
16692000-11-14 Akihiro Mizutani <mizutani@dml.com>
1670
1671 * bgp_community.c (community_match): Fix bug of memcmp return
1672 value check.
1673
16742000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1675
1676 * bgp_clist.c (community_list_match_exact): Add check for
1677 entry->style is COMMUNITY_LIST.
1678 (community_match_regexp): Apply new com_nthval macro.
1679
16802000-11-07 Rick Payne <rickp@rossfell.co.uk>
1681
1682 * bgp_routemap.c (route_set_community_delete): "set
1683 community-delete COMMUNITY-LIST" is added.
1684
1685 * bgp_community.c (community_del_val): Delete one community.
1686 (community_delete): Delete all community included in list.
1687 (community_match): Fix bug of matching community value.
1688
1689 * bgp_clist.c (community_entry_free): Free community regular
1690 expression.
1691 (community_entry_make): Default style is COMMUNITY_LIST.
1692 (community_entry_lookup): Make it sure style is COMMUNITY_LIST.
1693 (community_entry_regexp_lookup): New function for community
1694 regular expression lookup.
1695 (community_match_regexp): New function.
1696 (community_delete_regexp): New function.
1697 (community_list_delete_entries): New function.
1698 (community_list_match): Add COMMUNITY_REGEXP treatment.
1699 (community_list_match_exact): Likewise.
1700 (config_write_community): Write community list according to
1701 entry->style.
1702
17032000-11-07 Rick Payne <rickp@rossfell.co.uk>
1704
1705 * bgp_attr.c (bgp_attr_aspath): AS path first AS check.
1706
1707 * bgp_clist.c (struct community_entry): Add style, regexp, reg to
1708 community_entry.
1709
17102000-11-06 Rick Payne <rickp@rossfell.co.uk>
1711
1712 * bgp_aspath.c (aspath_firstas_check): AS path first AS check.
1713
1714 * bgpd.c (bgp_enforce_first_as): New command "bgp
1715 enforce-first-as".
1716
1717 * bgpd.h (BGP_CONFIG_ENFORCE_FIRST_AS): Add new flag.
1718
17192000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1720
1721 * bgp_community.c (community_compare): Copy byte stream data to
1722 actual value instead of using type casting hack.
1723 (community_add_val): Likewise.
1724 (community_uniq_sort): Likewise.
1725 (community_print): Likewise.
1726 (community_print_vty): Likewise.
1727 (community_include): Use memcmp to compare community value.
1728
1729 * bgp_community.h (com_lastval): com_lastval and com_nthval macro
1730 return pointer.
1731
17322000-11-06 Akihiro Mizutani <mizutani@dml.com>
1733
1734 * bgpd.h (struct peer): Add established and dropped member for
1735 count peering up/down statistics.
1736
1737 * bgpd.c (bgp_show_peer): Display peering up/down statistics.
1738
1739 * bgp_fsm.c (bgp_establish): Increment established count.
1740 (bgp_stop): Increment dropped count.
1741
1742 * bgp_packet.c (bgp_notify_receive): Increament notify count.
1743
17442000-11-1 Akihiro Mizutani <mizutani@dml.com>
1745
1746 * bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared.
1747
17482000-10-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1749
1750 * bgpd.h: Static bit flag is set by (1 << DIGIT).
1751
17522000-10-24 Akihiro Mizutani <mizutani@dml.com>
1753
1754 * bgp_ecommunity.c (ecommunity_dup): Extended community display
1755 format fix.
1756
17572000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1758
1759 * bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror.
1760 (bgp_serv_sock_addrinfo): Check address family.
1761
17622000-10-23 Jochen Friedrich <jochen@scram.de>
1763
1764 * bgp_snmp.c: bgp_oid and bgpd_oid are used in smux_open after it
1765 is registered. So those variables must be static.
1766
17672000-10-23 Akihiro Mizutani <mizutani@dml.com>
1768
1769 * bgp_routemap.c (route_match_ip_next_hop): Change "match ip
1770 next-hop" argument from IP address to access-list name.
1771 Remove zebra-0.88 compatibility commands.
1772 "match ip prefix-list WORD"
1773 "match ipv6 prefix-list WORD"
1774
17752000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1776
1777 * bgp_routemap.c (route_match_ipv6_next_hop_compile): Fix bug of
1778 passing the pointer to the pointer of struct in6_addr instead of
1779 the pointer of struct in6_addr in "match ipv6 next-hop" command.
1780
1781 * bgp_route.c (bgp_announce_check): Enclose IPv6 part with
1782 HAVE_IPV6.
1783
17842000-10-20 Jasper Wallace <jasper@ivision.co.uk>
1785
1786 * bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed. Change
1787 to use linklist.c. Define COUNTER32 as ASN_COUNTER.
1788
17892000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1790
1791 * bgp_route.c (bgp_announce_check): attr->nexthop empty check
1792 should be done by attr->nexthop.s_addr instead of strcmp.
1793
17942000-10-18 Akihiro Mizutani <mizutani@dml.com>
1795
1796 * bgp_zebra.c (zebra_read_ipv4): Pass nexthop value to
1797 bgp_redistribute_add().
1798
1799 * bgp_nexthop.c (bgp_multiaccess_check_v4): New function for
1800 checking IPv4 multiaccess nexthop.
1801
1802 * bgp_route.c (bgp_announce_check): In case of the nexthop is
1803 reachable on multiaccess media, do not change nexthop.
1804 (bgp_redistribute_add): Set nexthop when the value is passed.
1805
18062000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1807
1808 * bgp_fsm.c (bgp_timer_set): If peer is passive mode, do not set
1809 connect timer.
1810 (bgp_start): If the peer is passive mode, force to move to Active
1811 mode.
1812
18132000-10-17 Horms <horms@vergenet.net>
1814
1815 * bgp_debug.c (debug_bgp_fsm): Fix typo.
1816
18172000-10-17 Akihiro Mizutani <mizutani@dml.com>
1818
1819 * bgp_route.c: "show ipv6 bgp" route display improvement.
1820
18212000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1822
1823 * bgp_route.c (neighbor_routes): Allocate sockunion for callback
1824 function.
1825 (bgp_show_neighbor_route): Remove static declaration for union
1826 sockunion.
1827
1828 * bgpd.c (peer_update_source_set): Clean previously allocated
1829 memory before allocate new one.
1830
18312000-10-03 Akihiro Mizutani <mizutani@dml.com>
1832
1833 * bgp_route.c (neighbor_routes): Add show neighbor's routes
1834 command.
1835 "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes"
1836 "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes"
1837 "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes"
1838 "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes"
1839
18402000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1841
1842 * zebra-0.89 is released.
1843
18442000-10-02 Akihiro Mizutani <mizutani@dml.com>
1845
1846 * bgpd.c: "bgp deterministic-med" command is added.
1847
18482000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1849
1850 * bgp_nexthop.c (bgp_connected_add): Apply mask for connected
1851 route addition and deletion.
1852
18532000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1854
1855 * bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment
1856 when comparing leftmost AS number.
1857
18582000-09-29 Akihiro Mizutani <mizutani@dml.com>
1859
1860 * bgpd.c (peer_route_reflector): Route reflector can be set for
1861 IBGP peer.
1862 (bgp_distribute_set): Fix bug of string check for (in|out).
1863 (bgp_show_summary): Display total neighbor count.
1864
18652000-09-28 Akihiro Mizutani <mizutani@dml.com>
1866
1867 * bgp_attr.c (bgp_packet_attribute): Only add cluster_list and
1868 originator for clinet to client routes.
1869 (bgp_packet_attribute): Add new cluster_list to the beginning of
1870 existing cluster_list.
1871 (bgp_packet_attribute): Fix bug of originator is rewritten even
1872 when originator is already set.
1873
18742000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1875
1876 * bgpd.c (bgp_client_to_client_reflection): Add new command.
1877 "no bgp client-to-client reflection"
1878 "bgp client-to-client reflection"
1879
1880 * bgpd.h (BGP_CONFIG_NO_CLIENT_TO_CLIENT): Add new definition.
1881
18822000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1883
1884 * bgp_packet.c (bgp_read): Make BGP packet read to non-blocking
1885 read.
1886 (bgp_read_packet): Likewise.
1887 (bgp_read_packet): When errono is EAGAIN, try to read it again.
1888
1889 * bgp_fsm.c (bgp_stop): Clear packet size and read buffer.
1890
18912000-09-26 Akihiro Mizutani <mizutani@dml.com>
1892
1893 * bgp_routemap.c: Configuration of prefix-list match is shown as
1894 "match ip address prefix-list <WORD>". Old configuration "match
1895 ip prefix-list <WORD>" is left for compatibilitty.
1896
18972000-09-25 Akihiro Mizutani <mizutani@dml.com>
1898
1899 * bgpd.h (BGP_CONFIG_MED_MISSING_AS_WORST): Changed from
1900 BGP_CONFIG_MISSING_AS_WORST.
1901
1902 * bgpd.c (bgp_bestpath_med): Change missing-as-worst syntax.
1903 Old "bgp bestpath missing-as-worst"
1904 New "bgp bestpath med missing-as-worst"
1905
19062000-09-24 Akihiro Mizutani <mizutani@dml.com>
1907
1908 * bgp_route.c: Compare MED properly in case of CONFED-IBGP.
1909
19102000-09-21 steve@Watt.COM (Steve Watt)
1911
1912 * bgp_debug.h: Do not declare debug variables conf_bgp_debug_* and
1913 term_bgp_debug_*.
1914
1915 * bgp_debug.c: Declare variables here.
1916
19172000-09-21 Akihiro Mizutani <mizutani@dml.com>
1918
1919 * bgpd.c: MBGP soft-reconfiguration command is added.
1920 clear ip bgp x.x.x.x ipv4 (unicast|multicast) in
1921 clear ip bgp x.x.x.x ipv4 (unicast|multicast) out
1922 clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft
1923 clear ip bgp <1-65535> ipv4 (unicast|multicast) in
1924 clear ip bgp <1-65535> ipv4 (unicast|multicast) out
1925 clear ip bgp <1-65535> ipv4 (unicast|multicast) soft
1926 clear ip bgp * ipv4 (unicast|multicast) in
1927 clear ip bgp * ipv4 (unicast|multicast) out
1928 clear ip bgp * ipv4 (unicast|multicast) soft
1929
1930 Change "clear ip bgp vpnv4 x.x.x.x soft" command to
1931 "clear ip bgp x.x.x.x vpnv4 unicast soft".
1932
1933 "bgp bestpath med confed" command is added.
1934
1935 * bgpd.h (BGP_CONFIG_MED_CONFED): Add New definition.
1936
19372000-09-18 Rick Payne <rickp@rossfell.co.uk>
1938
1939 * bgpd.c (bgp_show_peer): Fix misplaced #endif.
1940
19412000-09-12 Akihiro Mizutani <mizutani@dml.com>
1942
1943 * bgpd.c (bgp_default_local_preference): Add "bgp default
1944 local-preference" command.
1945
1946 * bgp_nexthop.c (no_bgp_scan_time): Add "no bgp scan-time"
1947 command.
1948
19492000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1950
1951 * bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes
1952 are passed to zebra like IBGP route.
1953
19542000-09-10 Akihiro Mizutani <mizutani@dml.com>
1955
1956 * bgpd.c (bgp_config_write_peer): Make it consistent passive
1957 configuration.
1958
1959 * bgp_route.c: Community match command is added.
1960 "show ip bgp community <val>"
1961 "show ip bgp community <val> exact-match"
1962
19632000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1964
1965 * bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are
1966 treated as IBGP routes.
1967
19682000-09-08 Akihiro Mizutani <mizutani@dml.com>
1969
1970 * bgp_route.c (bgp_show_route): When local-AS community route is
1971 selected, display "not advertised outside local AS" to "show ip
1972 route A.B.C.D" output.
1973 (show_ip_bgp_ipv4_filter_list): Add below four commands.
1974 "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
1975 "show ip bgp ipv4 (unicast|multicast) community"
1976 "show ip bgp ipv4 (unicast|multicast) community-list WORD"
1977 "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
1978
1979 * bgp_clist.c (community_list_match_exact): Community exact match
1980 function.
1981
19822000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1983
1984 * bgp_route.c (bgp_update): Add peer's ttl check.
1985
1986 * bgpd.h (struct peer): Structure member refresh is renamed to
1987 refresh_adv.
1988
1989 * bgpd.c (clear_bgp_soft_in): Check PEER_FLAG_ROUTE_REFRESH flag
1990 when soft reconfiguration is performed.
1991
1992 * bgp_zebra.c (bgp_zebra_announce): When the peer is EBGP and
1993 ebgp-multiphop is set, set ZEBRA_FLAG_INTERNAL for nexthop lookup.
1994
1995 * bgp_route.h (struct bgp_info_tag): Add valid flag.
1996
19972000-08-25 Akihiro Mizutani <mizutani@dml.com>
1998
1999 * bgpd.c: Add AS base BGP soft reconfiguration.
2000
2001 * bgp_route.c: When no-advertise or no-export route is selected,
2002 "show ip bgp" display "not advertised to EBGP peer" or "not
2003 advertised to any peer" message.
2004
20052000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2006
2007 * zebra-0.88 is released.
2008
2009 * bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump
2010 bgp route-mrt" to support MRT specific dump format.
2011
2012 * bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is
2013 added.
2014
2015 * bgp_route.c (bgp_update): Currently nexthop check is only works
2016 for IPv4.
2017
20182000-08-17 Akihiro Mizutani <mizutani@dml.com>
2019
2020 * bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for
2021 both inbound and outbound soft reconfiguration.
2022
20232000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2024
2025 * bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration
2026 outbound.
2027 (peer_new): Set route-refresh flag.
2028
20292000-08-16 Akihiro Mizutani <mizutani@dml.com>
2030
2031 * bgpd.c: "no bgp router-id A.B.C.D" alias is added. "no bgp
2032 cluster-id A.B.C.D" alias is added. " bgp cluster-id
2033 <1-4294967295>" alias is added. "clear ip bgp * soft in" command
2034 is added. "clear ip bgp A.B.C.D in" alias is added. "clear ip
2035 bgp * in" alias is added.
2036
20372000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2038
2039 * bgp_route.c (bgp_update): Add soft_reconfig flag. When the flag
2040 is set do not install the route into Adj-RIBs-In.
2041 (bgp_update): Perform implicit withdraw before filtering of the
2042 route.
2043
2044 * bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt
2045 capability code and BGP message can be accepted.
2046
2047 * bgp_open.c (bgp_capability_parse): Likewise.
2048
2049 * bgp_route.c (bgp_refresh_table): New function for route refresh.
2050 (bgp_refresh_rib): Likewise.
2051
2052 * bgpd.c (bgp_show_peer): Display route refresh status.
2053
2054 * bgp_route.c (bgp_aggregate_add): Add check for the route
2055 validness.
2056 (bgp_aggregate_delete): Likewise.
2057
20582000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2059
2060 * bgp_nexthop.c (bgp_scan): Care for aggregate route when the
2061 route become inaccessible.
2062
20632000-08-15 Akihiro Mizutani <mizutani@dml.com>
2064
2065 * bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M"
2066 command is added.
2067
20682000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2069
2070 * bgp_zebra.c (bgp_interface_up): Register connected route.
2071 (bgp_interface_down): Unregister connected route.
2072
20732000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2074
2075 * bgp_route.h (struct bgp_info): Add distance to the structure.
2076
2077 * bgp_route.c (bgp_aggregate_increment): Aggregate route only
2078 match to smaller prefixlen route not match same prefixlen route.
2079 (bgp_aggregate_decrement): Likewise.
2080 (bgp_aggregate_add): Likewise.
2081 (bgp_aggregate_delete): Likewise.
2082 (bgp_network_backdoor): Add backdoor network configuration.
2083
2084 * bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store
2085 configuration distance value.
2086
2087 * bgp_route.c (bgp_update): Filter EBGP route which has non
2088 connected nexthop.
2089
2090 * bgp_attr.c (bgp_attr_aggregate_intern): New function for
2091 aggregate route. Set origin to IGP. Set atomic aggregate flag.
2092 Set aggregator AS and address.
2093 (bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when
2094 filling aggregator_as.
2095
2096 * bgp_route.c (bgp_process): Delete suppress check for install
2097 suppressed route into local routing table.
2098 (bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead
2099 of bgp_attr_default_intern ().
2100 (bgp_aggregate_add): Likewise.
2101
2102 * bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is
2103 created. This is for avoid 0.0.0.0 router-id.
2104
21052000-08-13 Akihiro Mizutani <mizutani@dml.com>
2106
2107 * bgp_route.c (route_vty_out_detail): Display "valid" when the
2108 route is valied. Display "aggregated" when the route is
2109 aggregated. "Advertisements suppressed by an aggregate" is
2110 displayed when the route is suppressed.
2111 (bgp_info_cmp): Prefer EBGP than Confed-EBGP.
2112
21132000-08-10 Akihiro Mizutani <mizutani@dml.com>
2114
2115 * bgp_route.c (route_vty_out_detail): Display format change.
2116
21172000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2118
2119 * bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled.
2120
2121 * bgpd.c (bgp_delete): Delete static route before delete peer
2122 configuration.
2123
21242000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2125
2126 * bgpd.c: Include bgpd/bgp_nexthop.h.
2127
21282000-07-31 Akihiro Mizutani <mizutani@dml.com>
2129
2130 * bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP
2131 identifier. And status is changed like below.
2132
2133 State/Pref -> State/PfxRcd
2134 Shutdown -> Idle (Admin)
2135 PrefixOvflw -> Idle (PfxCt)
2136
2137 * bgp_route.c (route_vty_out): Show internal route as "i".
2138
21392000-07-13 Jim Bowen <jimb@zereau.net>
2140
2141 * bgp_snmp.c: Add BGP peer MIB implementation.
2142
21432000-07-12 Akihiro Mizutani <mizutani@dml.com>
2144
2145 * bgpd.c (bgp_show_peer): Fix typo.
2146
21472000-07-11 Akihiro Mizutani <mizutani@dml.com>
2148
2149 * bgp_routemap.c: Add commands for deleting set without argument.
2150
21512000-07-03 Akihiro Mizutani <mizutani@dml.com>
2152
2153 * bgp_zebra.c: Fix redistribute help strings.
2154
21552000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2156
2157 * bgp_route.c (bgp_show): When bgpd works as vtysh server send all
2158 output to vty at once.
2159
21602000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2161
2162 * bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD
2163 tag WORD" command is added.
2164
2165 * bgp_ecommunity.c (ecommunity_vty_out): New function added.
2166
21672000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2168
2169 * bgp_route.c (bgp_show): Fix total number of prefix count bug.
2170
2171 * bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and
2172 negotiation result in "show ip bgp neighbors".
2173
21742000-06-12 Akihiro Mizutani <mizutani@dml.com>
2175
2176 * bgpd.c: Fix help strings.
2177
2178 * bgpd.h: Likewise.
2179
21802000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2181
2182 * bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info
2183 instead of rn. Reported by Akihiro Mizutani <mizutani@dml.com>.
2184
2185 * bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network
2186 A.B.C.D rd RD" is added to address-family vpnv4 unicast node.
2187
2188 * bgp_route.c (bgp_static_set): Set safi to p.safi.
2189
21902000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2191
2192 * bgp_route.c (bgp_show_prefix_list): Change to use bgp_show().
2193 (bgp_show_regexp): Change to use bgp_show().
2194 (show_adj_route): Change to display header.
2195
2196 * bgpd.c (clear_bgp): Set peer->v_start to default value when peer
2197 is cleared manually.
2198
2199 * bgp_route.c (bgp_show_route): New function which display
2200 specific BGP route. Divided from bgp_show().
2201 (bgp_static_delete): Delete all static route.
2202
22032000-06-09 NOGUCHI Kay <kay@v6.access.co.jp>
2204
2205 * bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with
2206 invalid privious fix. Now show_ipv6_bgp and show_ipv6_bgp_route
2207 take care of "show ipv6 bgp [X:X::X:X]". Same change for "show ip
2208 mbgp" and "show ipv6 mbgp".
2209
22102000-06-07 Akihiro Mizutani <mizutani@dml.com>
2211
2212 * bgp_route.c: Fix help strings and command arguments.
2213
22142000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2215
2216 * bgp_ecommunity.c: Include prefix.h
2217
22182000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2219
2220 * bgp_route.h (struct bgp_info_tag): New structure to hold tag
2221 value.
2222
2223 * bgp_route.c (bgp_adj_set): table NULL check is added.
2224 (bgp_adj_unset): Likewise.
2225 (bgp_adj_lookup): Likewise.
2226 (bgp_adj_clear): Likewise.
2227 (route_vty_out): Add SAFI check for nexthop display.
2228 (bgp_withdraw): Add SAFI check for withdraw route.
2229
2230 * Remove all #ifdef MPLS_VPN then include it as default.
2231
2232 * bgpd.c: Temporary disable peer-group command until the
2233 implementation is completed.
2234
2235 * bgp_routemap.c (bgp_route_map_init): Install
2236 route_metric_match_cmd.
2237 (route_match_metric_compile): MED value compile using strtoul.
2238
22392000-06-05 Akihiro Mizutani <mizutani@dml.com>
2240
2241 * bgp_filter.c: Fix help strings. Change REGEXP to LINE. Change
2242 NAME to WORD.
2243
2244 * Change command argument to more comprehensive.
2245
2246 METRIC -> <0-4294967295>
2247 WEIGHT -> <0-4294967295>
2248 LOCAL_PREF -> <0-4294967295>
2249 IP_ADDR -> A.B.C.D
2250 AS -> <1-65535>
2251 AS-PATH-NAME -> WORD
2252 ACCESS_LIST -> WORD
2253 PREFIX_LIST -> WORD
2254 COMMUNITY -> AA:NN
2255 EXT_COMMUNITY -> ASN:nn_or_IP-address:nn
2256 IPv6_ADDR -> X:X::X:X
2257
2258 * bgp_clist.c: Fix help strings.
2259
22602000-06-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2261
2262 * bgpd.c (peer_active): Add new function for check the peer is
2263 active or not.
2264 (neighbor_activate): New command "neighbor PEER activate" and "no
2265 neighbor PEER activate" are added.
2266
2267 * bgp_packet.c: Include bgpd/bgp_mplsvpn.h.
2268
22692000-06-02 Akihiro Mizutani <mizutani@dml.com>
2270
2271 * bgp_clist.c: Fix commuity-list help strings.
2272
2273 * bgp_routemap.c: Fix "set community" help strings. Add #define
2274 SET_STR. Use (unicast|multicast) argument for "set nlri" command.
2275
22762000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2277
2278 * bgp_routemap.c (route_set_community_none_cmd): "set community
2279 none" command is added to route-map.
2280
22812000-06-01 Akihiro Mizutani <mizutani@dml.com>
2282
2283 * bgp_debug.c: Change "show debug" to "show debugging". Now "show
2284 debugging" is not used in VIEW_NODE.
2285
22862000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2287
2288 * bgp_fsm.c (bgp_timer_set): Add check for shutdown flag. This
2289 fix unconditional BGP connection.
2290
2291 * bgpd.c (peer_shutdown): Replace peer_shutdown() with
2292 peer_change_flag_with_reset().
2293
22942000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2295
2296 * bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default
2297 ipv4-unicast" command.
2298
2299 * bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition.
2300
2301 * bgp_filter.c (as_list_delete): Free all AS filter.
2302
2303 * bgp_clist.c (community_list_delete): Free all community entry.
2304
2305 * bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path
2306 access-list NAME".
2307
2308 * bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip
2309 community-list NAME".
2310
23112000-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2312
2313 * bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER
2314 routes" to "show ip bgp PEER received-routes"
2315
23162000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2317
2318 * bgp_ecommunity.c (ecommunity_parse): New file for Extended
2319 Communities attribute.
2320 * bgp_ecommunity.h: Likewise.
2321
23222000-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2323
2324 * bgp_mplsvpn.h: New file for MPLS-VPN.
2325 * bgp_mplsvpn.c: Likewise.
2326
2327 * bgpd.c (bgp_delete): Fix bug of "no router bgp" crush.
2328
23292000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2330
2331 * bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath
2332 missing-as-worst".
2333
23342000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2335
2336 * bgp_routemap.c (match_community): Clarify help of "match
2337 community".
2338
23392000-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2340
2341 * bgp_aspath.c (aspath_cmp_left): Remove debug code.
2342
23432000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2344
2345 * bgp_route.c (bgp_info_cmp): Compare MED only both routes comes
2346 from same neighboring AS.
2347
2348 * bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value.
2349
2350 * bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl().
2351
23522000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2353
2354 * bgp_route.c (bgp_output_filter): When distribute-list's
2355 corresponding access-list does not exist, filter all routes.
2356 (bgp_input_filter): Likewise.
2357
23582000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2359
2360 * bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer.
2361
2362 * bgp_route.c (bgp_info_cmp): Add evaluation of local preference.
2363
23642000-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2365
2366 * bgpd.c (bgp_distribute_update): Add struct access_list *
2367 argument.
2368
23692000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2370
2371 * bgp_clist.c (community_list_dup_check): Add duplicate insertion
2372 check.
2373
2374 * bgp_filter.c (as_list_dup_check): Add duplicate insertion check.
2375
2376 * bgp_route.c (bgp_show): Fix undeclared write variable.
2377
23782000-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2379
2380 * bgp_routemap.c: Add "match ip address prefix-list".
2381
23822000-03-29 Rick Payne <rickp@rossfell.co.uk>
2383
2384 * bgp_aspath.c (aspath_strip_confed): Fix realloc problem.
2385
23862000-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2387
2388 * bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when
2389 the peer status is Connect.
2390
23912000-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2392
2393 * Fix bug of rewritten originator-id.
2394
23952000-01-27 Rick Payne <rickp@rossfell.co.uk>
2396
2397 * bgp_aspath.c (aspath_delimiter_char): New function. Instead of
2398 directly referencing array, search proper AS path delimiter.
2399 (aspath_strip_confed): Strip the confederation stuff from the
2400 front of an AS path.
2401 (aspath_add_left_confed): New function for adding specified AS to
2402 the leftmost AS_CONFED_SEQUENCE.
2403
2404 * bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value
2405 to Cisco compatible.
2406
2407 * bgpd.c (bgp_confederation_id_set): Confederation configuration.
2408 (bgp_confederation_id_unset): Likewise.
2409 (bgp_confederation_peers_check): Likewise.
2410 (bgp_confederation_peers_add): Likewise.
2411 (bgp_confederation_peers_remove): Likewise.
2412 (bgp_confederation_peers_set): Likewise.
2413 (bgp_confederation_peers_unset): Likewise.
2414 (bgp_confederation_peers_print): Likewise.
2415
24162000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2417
2418 * bgpd.c: Introduce peer_change_flag_with_reset() fucntion.
2419
24202000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2421
2422 * bgp_open.c (bgp_open_option_parse): When there is no common
2423 capability send Unsupported Capability error to the peer.
2424
24252000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2426
2427 * bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about
2428 IPv6 unicast.
2429
2430 * bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command.
2431
24322000-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2433
2434 * bgpd.c (neighbor_strict_capability): Add
2435 "strict-capability-match" command.
2436
2437 * bgp_zebra.c (bgp_if_update): Ignore NET127 determining
2438 router-id.
2439
2440 * bgpd.c (peer_override_capability): Add "override-capability"
2441 command.
2442
24431999-12-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2444
2445 * bgp_packet.c (bgp_write): Change status to Idle and set timer
2446 after write failed.
2447
24481999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2449
2450 * bgp_zebra.c (bgp_zebra_announce): Add info->selected check.
2451
24521999-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with
2455 nlri_parse().
2456
24571999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2458
2459 * bgp_fsm.h (BGP_EVENT_DELETE): Macro added.
2460
2461 * bgp_fsm.c (bgp_stop): Clear all event threads of the peer when
2462 the peer is cleared.
2463
2464 * bgp_zebra.c (bgp_nexthop_set): Clear interface index of
2465 link-local address. This is KAME specific problem.
2466
24671999-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2468
2469 * bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a
2470 while. We don't completely detect the link is shared or not at
2471 this moment.
2472
2473 * bgp_packet.c (bgp_notify_send): Make shortcut call of
2474 bgp_write() and bgp_stop().
2475
2476 * bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting
2477 global and link-local address.
2478
24791999-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2480
2481 * bgpd.c (no_neighbor_port): New command added.
2482 (peer_new): Set send_community.
2483
24841999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2485
2486 * bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary().
2487 (show_ip_mbgp_summary): Likewise.
2488 (show_ipv6_bgp_summary): Likewise.
2489 (show_ipv6_mbgp_summary): Add new command.
2490 (peer_free): Free peer->host.
2491 (peer_lookup_by_su): Delete function.
2492 (ipv6_bgp_neighbor): Changed to use peer_remote_as().
2493 (sockunion_vty_out): Function deleted.
2494 (vty_clear_bgp): Use afi instead of family.
2495 Delete old list bgp_list. Use struct newlist *bgplist.
2496 (peer_lookup_by_host): Function deleted.
2497
24981999-12-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2499
2500 * bgpd.h (struct peer_group): New structure added.
2501 (struct peer_conf): New structure added.
2502 (struct peer): Change all prefix_count to unsigned long.
2503
2504 * bgpd.c: Reconstruct all of VTY commands reflect internal
2505 structure change.
2506 Use bgplist instead of bgp_list.
2507 Use peerlist intstead of peer_list.
2508
2509 * bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop
2510 parsing then return immediately.
2511
2512 * bgp_route.c (nlri_parse): When NLRI parse error occured, return
2513 -1.
2514 (nlri_process): Use pcount_v4_{unicast,multicast}.
2515 (nlri_delete): Likewise.
2516
25171999-11-25 Robert Olsson <Robert.Olsson@data.slu.se>
2518
2519 * bgp_routemap.c (route_match_nlri): `match nlri
2520 unicast|multicast' and `set nlri unicast|multicast' command are
2521 added.
2522
25231999-11-22 Robert Olsson <Robert.Olsson@data.slu.se>
2524
2525 * bgpd.c: Add translate-update support.
2526
2527 * bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition.
2528
25291999-11-19 Robert.Olsson@data.slu.se
2530
2531 * bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes.
2532
25331999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2534
2535 * bgp_open.c (bgp_capability_mp): Temporary comment out
2536 SAFI_UNICAST_MULTICAST handling until we know the meanings.
2537
25381999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2539
2540 * bgp_btoa.c: New file added.
2541
25421999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2543
2544 * bgpd.h (struct peer): Add dont_capability flag.
2545 (struct peer): Add override_capability flag.
2546
2547 * bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER
2548 dont-capability-negotiation' added.
2549
25501999-11-12 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2551
2552 * bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses
2553 attribute from non-shared-network peers.
2554
25551999-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2556
2557 * bgp_snmp.c: New file added.
2558
2559 * BGP4-MIB.txt: Updated to the latest Internet-Draft
2560 draft-ietf-idr-bgp4-mib-04.txt.
2561
25621999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2563
2564 * bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'.
2565
2566 * bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with
2567 #ifdef HAVE_MBGPV4.
2568
25691999-11-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2570
2571 * bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no
2572 dump bgp commands.
2573 (config_write_bgp_dump): Write interval value to the
2574 configuration.
2575
25761999-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2577
2578 * bgp_zebra.c: Redistribute route-map support is added.
2579
2580 * bgp_zebra.h: New file added.
2581
25821999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2583
2584 * bgp_dump.c: BGP packet dump routine compatible with MRT.
2585 * bgp_dump.h: BGP packet dump routine compatible with MRT.
2586
2587 * bgp_debug.c: Renamed from bgp_dump.c
2588 * bgp_debug.h: Renamed from bgp_dump.h
2589
25901999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2591
2592 * BGP4-MIB.txt: New file added. Edited version of RFC1657.
2593
25941999-10-25 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2595
2596 * bgp_route.c (bgp_announce): If we're not on a shared network
2597 with the peer and we don't have a link-local next hop, but the
2598 inbound next-hop has a link-local address, don't readvertise it to
2599 our peer.
2600
26011999-10-25 Marc Boucher <marc@mbsi.ca>
2602
2603 * bgp_zebra.c: Add redistribute kernel command.
2604
26051999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2606
2607 * bgp_route.c (bgp_reset): New function added.
2608
2609 * bgpd.conf.sample2: Add IPv6 configuration sample.
2610
26111999-10-24 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2612
2613 * bgp_route.c (ipv6_aggregate_address): Function added.
2614
26151999-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2616
2617 * bgp_packet.c (bgp_update): Unintern aspath, community, cluster
2618 list after parsing BGP update packet.
2619
2620 * bgp_attr.c (bgp_attr_aspath): Intern parsed aspath.
2621 (bgp_attr_community): Intern parsed community.
2622 (bgp_attr_cluster_list): Intern parsed cluster list.
2623
2624 * bgp_routemap.c: Add `set community-additive' command.
2625
26261999-10-21 Alexandr D. Kanevskiy <kad@blackcatlinux.com>
2627
2628 * bgp_routemap.c (route_set_local_pref): Fix bug of setting
2629 attribute flag.
2630
26311999-10-21 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2632
2633 * bgp_route.c (bgp_announce): Add check of IPv6 default route
2634 announcement.
2635
2636 * bgp_packet.c (bgp_update_send): Add BGP announcement logging.
2637
26381999-10-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2639
2640 * `show ip[v6] bgp PREFIX' show uptime of the route.
2641
26421999-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2643
2644 * bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead
2645 of that use AF_INET and AF_INET6 directly.
2646 (vty_clear_bgp): Add new function to support various clear ip bgp
2647 method.
2648
26491999-10-04 Lars Fenneberg <lf@elemental.net>
2650
2651 * bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'.
2652
26531999-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2654
2655 * bgp_routemap.c: Add `match ip prefix-list' and `match ipv6
2656 prefix-list'.
2657
26581999-09-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2659
2660 * bgpd.c (bgp_collision_detect): Add BGP collision detection
2661 function.
2662
26631999-09-26 Blake Meike <bmeike@adero.com>
2664
2665 * bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is
2666 added.
2667
26681999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2669
2670 * bgpd.c (no_neighbor_timers_keepalive): Change MIN to min. Add
2671 min() macro.
2672
26731999-08-19 Rick Payne <rickp@rossfell.co.uk>
2674
2675 * bgp_packet.c (bgp_open): BGP holdtimer bug is fixed. Make BGP
2676 keepalive timer configurable.
2677
26781999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2679
2680 * bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug.
2681
26821999-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2683
2684 * bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list
2685 the peer not all of them.
2686
26871999-08-11 Rick Payne <rickp@rossfell.co.uk>
2688
2689 * bgp_route.c (bgp_announce): Remove MED if its an EBGP peer -
2690 will get overwritten by route-maps.
2691
26921999-08-08 Rick Payne <rickp@rossfell.co.uk>
2693
2694 * bgp_routemap.c: Multi protocol route-map modification.
2695
26961999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2697
2698 * bgp_route.c: Set network statement route's origin attribute as
2699 igp.
2700
2701 * bgp_zebra.c: Set redistribute route's origin attribute as
2702 incomplete.
2703
2704 * bgp_route.c (bgp_info_cmp): Add attribute existance check,
2705 origin attribute check, BGP peer type check.
2706
27071999-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2708
2709 * bgp_route.c (bgp_peer_delete): Reselect of IPv6 route.
2710
27111999-07-29 Rick Payne <rickp@rossfell.co.uk>
2712
2713 * Changed route-maps to behave in a more cisco-like fashion
2714
27151999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2716
2717 * bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed.
2718 When multiple route to the same destination exist, bgpd try to
2719 announce the information to stopped peer. Then add orphan write
2720 thread is added. This cause many strange behavior of bgpd.
2721 Reported by Georg Hitsch <georg@atnet.at>.
2722
27231999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2724
2725 * bgpd.c: Change peer's A.B.C.D to PEER.
2726
27271999-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2728
2729 * bgp_route.c (bgp_announce): Add hack for link-local nexthop.
2730
2731 * bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from
2732 local address.
2733
27341999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2735
2736 * bgp_packet.c (bgp_open): Holdtime fetch bug is fixed. Reported
2737 by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>.
2738
27391999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2740
2741 * bgp_fsm.c (fsm_holdtime): Don't close file descriptor in
2742 fsm_holdtime ().
2743
27441999-07-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2745
2746 * bgp_routemap.c: Add `set atomic-aggregate' command.
2747
27481999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2749
2750 * bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop"
2751 to "ip next-hop".
2752
27531999-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2754
2755 * bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp'
2756 added.
2757
27581999-07-01 Rick Payne <rickp@rossfell.co.uk>
2759
2760 * bgp_zebra.c (zebra_init): Install standard commands to
2761 ZEBRA_NODE.
2762
27631999-06-28 Rick Payne <rickp@rossfell.co.uk>
2764
2765 * bgpd.c (bgp_delete): bgp peer deletion bug is fixed.
2766
27671999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2768
2769 * bgpd.c: Add neighbor update-source command as ALIAS to
2770 neighbor_interface.
2771
27721999-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2773
2774 * bgp_attr.c (bgp_packet_attribute): Send community attribute when
2775 send_community flag is set.
2776
2777 * bgpd.h (struct peer): Add send_community flag.
2778
27791999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2780
2781 * bgpd.c (router_bgp): router bgp's argument changed from AS_NO to
2782 <1-65535>.
2783
27841999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2785
2786 * bgp_route.h (struct bgp_info): Add subtype for BGP route type.
2787
27881999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2789
2790 * bgp_community.c (community_merge): Function added.
2791
27921999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2793
2794 * bgp_clist.c: New file.
2795 * bgp_clist.h: New file.
2796
2797 * bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco
2798 compatibility.
2799 (COMMUNITY_NO_ADVERTISE): Fix typo.
2800
28011999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2802
2803 * bgp_routemap.c: Add `set weight WEIGHT' command.
2804
2805 * bgpd.c: Remove all_digit_check function. Instead of that use
2806 all_digit function in lib/prefix.c.
2807
2808 * bgp_routemap.c (bgp_route_map_init): Install
2809 no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd
2810 element to the RMAP_NODE.
2811
28121999-05-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2813
2814 * bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char
2815 inside aspath_make_str function.
2816 (aspath_prepend): New function is added for AS path prepend.
2817 (aspath_make_str_count): Renamed from aspath_make_str. AS path
2818 count is set to the structure.
2819 (aspath_merge): New function.
2820
28211999-05-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2822
2823 * bgp_zebra.c (redistribute_bgp): Add new DEFUN.
2824 (no_redistribute_bgp): Likewise.
2825 (router_zebra): Semantics changed. Now 'router zebra' is default
2826 behavior of bgpd.
2827
28281999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2829
2830 * bgp_routemap.c: Add some commands to bgp route-map.
2831 match ip next-hop: New command.
2832 match metric: New command.
2833 set metric: Doc fix.
2834 set local-preference: Add DEFUN.
2835
28361999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2837
2838 * bgp_main.c (signal_init): SIGTERM call sigint.
2839 (sigint): Loggging more better message.
2840
28411999-05-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2842
2843 * bgp_attr.c (bgp_packet_attribute): AS path attribute extended
2844 length bit check is added.
2845
28461999-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2847
2848 * bgp_routemap.c (bgp_route_map_init): Call route_map_install_set
2849 function with route_set_local_pref_cmd argument.
2850 (no_match_aspath): Function added.
2851 (route_set_metric): Set attribute flag bit.
2852
2853 * bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP
2854 packet.
2855
28561999-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2857
2858 * bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers
2859 holdtime' command is added.
2860
2861 * bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define.
2862
2863 * bgpd.c (bgp_prefix_list_set): New function added.
2864 (bgp_prefix_list_unset): Likewise.
2865 (bgp_prefix_list_update): Likewise.
2866 (show_ip_bgp_neighbors): prefix-list information display.
2867
28681999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2869
2870 * bgpd.c (bgp_delete): Function added for `no router bgp'.
2871
28721999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2873
2874 * bgp_dump.c (bgp_dump_attr): Add originator_id display.
2875
2876 * bgpd.c (bgp_router_id): Even when address is malformed set the
2877 value to configuration bug fixed.
2878 (no_bgp_router_id): New function.
2879 (no_bgp_cluster_id): New function.
2880
28811999-05-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2882
2883 * bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR.
2884
28851999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2886
2887 * bgp_route.c (bgp_announce): Add route reflector check.
2888
28891999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2890
2891 * bgpd.c (bgp_cluster_id): Add function for route reflector.
2892 (neighbor_route_reflector_client): Likewise.
2893 (no_neighbor_route_reflector_client): Likewise.
2894
2895 * bgpd.h (struct bgp ): Add cluster for route reflector.
2896
2897 * bgp_route.c (show_ip_bgp_prefix_list): New command is added.
2898
28991999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2900
2901 * Makefile.am (noinst_HEADERS): Add bgp_filter.h
2902
2903 * bgp_aspath.c (aspath_undup): Function deleted. aspath_free ()
2904 has same functionality.
2905
2906 * bgp_filter.h: New file.
2907
2908 * bgp_aspath.c (aspath_unintern): Rename aspath_free () to
2909 aspath_unintern ()
2910 (aspath_free): New function.
2911
29121999-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2913
2914 * bgp_aspath.c (aspath_aggregate): Function added.
2915
2916 * bgp_aspath.h (aspath_aggregate): Prototype added.
2917
2918 * bgp_aspath.c (aspath_empty_aspath): New argument
2919 gated_dont_eat_flag is added.
2920
29211999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2922
2923 * bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6.
2924
29251999-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2926
2927 * bgp_route.c (aggregate_address): Function added.
2928
2929 * bgp_zebra.c (zebra_read): Change log to zlog.
2930
29311999-04-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2932
2933 * Makefile.am (noninst_HEADERS): Added for make dist.
2934
29351999-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2936
2937 * aspath_regex.c: Removed from distribution.
2938
29391999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2940
2941 * bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment
2942 bug fixed.
2943
29441999-04-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2945
2946 * bgp_aspath.c (aspath_add_left): Fix empty aspath bug. Reported
2947 by kad@gibson.skif.net.
2948
2949 * bgp_regex.[ch]: New file added.
2950
2951
29521999-04-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2953
2954 * bgp_filter.c: New file added.
2955
29561999-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2957
2958 * bgp_aspath.c (aspath_empty_aspath): Change for peering with
2959 gated.
2960
29611999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2962
2963 * bgp_main.c (main): Default loggin method changed from syslog to
2964 stdout.
2965
29661999-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2967
2968 * bgp_route.c: Delete obsolete default attribute DEFUN.
2969
29701999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2971
2972 * bgp_attr.c: Make attribute structure put into attribute hash.
2973
29741999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2975
2976 * bgp_view.c : Delete file.
2977
29781999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2979
2980 * bgp_routemap.c (bgp_apply_route_map): Add prefix argument.
2981
2982 * bgp_route.h (struct bgp_info): Add bgp_info structre. I'll
2983 replace bgp_route with this.
2984
2985 * bgp_routemap.c (route_match_ip_address): Fix bug of passing non
2986 prefix value to access_list_apply().
2987
2988 * bgpd.conf.sample: Add route-map sample.
2989 Delete obsolete default-attr statements.
2990
2991 * bgp_packet.c: Use stream_fifo for packet queueing.
2992
29931999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2994
2995 * bgp_aspath.c (aspath_add_left): add non empty aspath treatment.
2996
2997 * bgp_main.c: include unistd.h for daemon().
2998
2999 * bgp_route.c (nlri_process): add IPv6 table lookup.
3000
3001 * bgp_attr.c (route_parse_ipv6): call nlri_process().
3002 (attr_make): Obsolete function attr_make deleted.
3003
30041999-02-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3005
3006 * bgp_aspath.c (aspath_add_left): change function name from
3007 aspath_add_leftmost_as().
3008
30091999-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * bgp_aspath.c: add aspath_add_leftmost_as ().
3012
30131999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3014
3015 * syslog support added
3016
30171999-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3018
3019 * bgpd.c: DEFUN (neighbor_nexthop): deleted.
3020 DEFUN (neighbor_distribute_list): added.
3021
30221999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3023
3024 * bgpd.h (struct peer ): header_buf and read_buf is removed.
3025
3026 * bgp_peer.[ch]: Deleted. Peer related functions are merged to
3027 bgpd.c
3028
3029 * bgp_network.c: New file.
3030 * bgp_network.h: New file.
3031
3032 * bgp_packet.h: New file.
3033
30341999-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3035
3036 * bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is
3037 buffered.
3038
30391999-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3040
3041 * bgp_packet.c: New file.
3042
30431998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3044
3045 * bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c.
3046
3047 * `show ip bgp' bug fixed.
3048 * aspath_log (): Remove argument logfp.
3049
30501998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3051
3052 * bgp_fsm.h: New file.
3053
30541998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3055
3056 * bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c
3057 bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c
3058 bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c,
3059 bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes.
3060
30611998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3062
3063 * bgpd.c (bgp_config_write): Delete vector v argument.
3064
30651998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3066
3067 * bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros.
3068
30691998-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3070
3071 * bgp_radix.[ch]: removed.
3072
30731998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
3074
3075 * bgp_main.c: ifdef HYDRANGEA -> ifdef KAME
3076
30771998-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3078
3079 * bgp_dump.c: delete nroute().
3080
30811998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3082
3083 * bgp_aspath.c: HAVE_CONFIG_H typo :-)
3084 * bgpd.h: Modify for compile on Solaris.
3085 * bgp_aspath.h: likewize
3086 * bgp_community.h: likewize
3087 * bgp_routemap.c: likewize
3088
30891998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3090
3091 * bgpd.h: Modify for compile on Solaris.
3092 * bgp_aspath.h: likewize
3093
30941998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3095
3096 * routemap.[ch]: move to ../lib directory.
3097
30981998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3099
3100 * routemap.c (route_map_apply): add function.
3101
31021998-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3103
3104 * routemap.h: add file.
3105
3106 * bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP}
3107
31081998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3109
3110 * Makefile.am: sysconfdir_DATA added.
3111
31121998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3113
3114 * bgp_dump.c: add `debug bgp fsm'
3115 add `no debug bgp fsm'
3116 add `show debug bgp'
3117 * bgp_open.c: File added.
3118
31191998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3120
3121 * .cvsignore: File added.
3122
31231998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3124
3125 * bgp_community.[ch]: File added.
3126
31271998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3128
3129 * bgpd now use lib/thread.[ch].
3130
31311998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3132
3133 * bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command.
3134
3135 * bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30.
3136
31371997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3138
3139 * bgp_vty.c: bgp_vty.c deleted.
3140
3141 * bgpd.c (config_write_neighbor): add ebgp-multihop command.
3142
31431997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3144
3145 * bgp_fsm.c: [-p bgp_port] and [-P vty_port] works
3146
31471997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3148
3149 * bgp_vty.c: new file.
3150
3151 * bgp_attr.c: add new logging system.
3152
31531997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3154
3155 * Change all inet_addr call into inet_aton.
3156
31571997-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3158
3159 * bgp_radix.c: change radix_peer_delete
3160
31611997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3162
3163 * bgp_aspath.c: move AS_TOKEN_??? definition from header to c source.
3164
31651997-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3166
3167 * bgp_dump.c (bgp_log_route): add dump_attr function
3168
31691997-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3170
3171 * bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{'
3172 * bgp_dump.c (bgp_log_route): change logfile format.
3173
31741997-08-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3175
3176 * bgp_open.c (bgp_open): move bgp_open function from bgpd.c
3177 * bgp_attr.c (community_str2com): add community value generation
3178 * bgp_attr.h: add SAFI definition for BGP-4+
3179
31801997-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3181
3182 * bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter
3183 * Makefile.in: add bgp_open.o, delete bgp_loop.o
3184 * bgp_open.c: newfile which manages BGP Open message
3185 * bgp_loop.c: this file is merged with bgp_fsm.c
3186 * bgp_radix.c (radix_add): radix_add() now return route_t instead
3187 of int
3188 (bgp_sim): now we can read update & withdraw from file
3189 * bgp_route.c: add route_free() call into route_parse etc.
3190
31911997-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3192
3193 * bgp_radix.c: Radix code is completely rewritten. It has better
3194 memory treatment than old one.
3195
31961997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3197
3198 * bgp_route.c: route_alloc for route struct allocation statistics.
3199 * bgpd.c (bgp_make_update): now we cann announce MED attribute.
3200 * bgp_aspath.c (aspath_print_all): change aspath_print_all output
3201 format.
3202
32031997-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3204
3205 * bgp_term.c (term_parse): add command : show asstat, show ashash
3206 * bgp_aspath.c: aspath_cmp bug fix
3207 (aspath_print_all): add aspath_print_all ();
3208 * bgp_peer.h: delete rlist element from struct peer.
3209
32101997-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3211
3212 * bgp_aspath.c: completely rewritten.
3213 * bgp_aspath.h: completely rewritten.
3214 add AsPath, AsSegment structure
3215 add AS_SET treatment
3216 change Hash codes
3217
32181997-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3219
3220 * bgp_attr.h: add Attribute flags defines
3221 * bgp_route.c: delete rlist related functions
3222 * bgp_aspath.c (as_origin): add as_origin function
3223 (aspath_print): move from bgp_dump.c and add support of AS_SET
3224 change Hash related function names.
3225
32261997-08-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3227
3228 * bgp_aspath.h: add next entry, delete rlist entry from struct aspath
3229
32301997-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3231
3232 * bgp_aspath.c (as_sort): add function as_sort
3233 * bgp_aspath.h: add IBGP, EBGP
3234