blob: 99960aef0b1e97adb8ca70b16f1c88a5ec71baac [file] [log] [blame]
Paul Jakma1f742f22006-08-06 15:52:11 +000012006-08-06 Paul Jakma <paul.jakma@sun.com>
2
3 * bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which
4 essentially had disabled this check. Problem reported by
5 Bartek Kania <mrbk@gnarf.org> in [quagga-users 7388].
6
Paul Jakma18937402006-07-27 19:05:12 +000072006-07-27 Paul Jakma <paul.jakma@sun.com>
8
9 * bgpd.c: (peer_delete) Ensure freed buffers can not be
10 accidently reused. A potential fix for bug #287.
11
Paul Jakma33d5ab92006-07-02 11:01:50 +0000122006-07-02 Paul Jakma <paul.jakma@sun.com>
13
14 * bgp_fsm.c: (bgp_{stop,start}) Move clear/free of certain
15 bits of state from stop to start, as they may be used via
16 peer references on clearing queues..
17
Paul Jakma369688c2006-05-23 22:27:55 +0000182006-05-23 Paul Jakma <paul.jakma@sun.com>
19
20 * bgp_vty.c: (neighbor_update_source_cmd) Expand tab completion
21 to make it clear it takes both address and ifname.
22
Paul Jakma34c3f812006-05-12 23:25:37 +0000232006-05-12 Paul Jakma <paul.jakma@sun.com>
24
25 * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity
26 CID #1
Paul Jakmab2518c12006-05-12 23:48:40 +000027 * bgp_aspath.{c,h}: (aspath_print_vty) take a format string,
28 so as to reduce burden on callers, all in bgp_route.c
Paul Jakmadd8103a2006-05-12 23:27:30 +000029 * bgp_route.c: (bgp_static_update_main) Remove useless NULL
30 check, code already assumes bgp_static can not be NULL,
31 fixes CID #7.
Paul Jakma06e110f2006-05-12 23:29:22 +000032 (bgp_static_update_rsclient) ditto, CID #6
Paul Jakmab2518c12006-05-12 23:48:40 +000033 (route_vty_out{,tmp}) Update to match aspath_print_vty,
34 simplifying checks needed to get spacing right. CID #4,#5.
35 ({damp,flap}_route_vty_out) Ditto, CID #9, #10
Paul Jakma34c3f812006-05-12 23:25:37 +000036
Paul Jakma542bcb72006-05-08 14:25:09 +0000372006-05-08 Paul Jakma <paul.jakma@sun.com>
38
39 * bgp_community.c: (community_str2com) Coverity CID#62, fix
40 double-free, use-after-free.
Paul Jakmada5b30f2006-05-08 14:37:17 +000041 * bgp_route.c: (bgp_afi_node_get) given table should never be
42 NULL, check/assert this.
43 (bgp_static_update) Bug #240. Rsclients should only be passed
44 the static update if they are configured for the afi,safi.
Paul Jakma542bcb72006-05-08 14:25:09 +000045
Paul Jakmaa3b6ea52006-05-04 07:52:12 +0000462006-05-04 Paul Jakma <paul.jakma@sun.com>
47
48 * (general) VPNv4 fixes. Certain VPNv4 code was not enabled.
49 See bug #210.
50 * bgp_attr.{c,h}: (bgp_packet_{withdraw,attribute}) Tag should be
51 u_char really.
52 * bgp_packet.c: (bgp_{update,withdraw}_packet) Enable some
53 VPNv4 code which inexplicably was ifdef'd out. comments from
54 a tester on IRC suggest this fixes bug #210.
Paul Jakma65ca75e2006-05-04 08:08:15 +000055 * bgp_route.c: (general) Fix logical bug in clearing, noted
56 by Chris Caputo in [quagga-users 6728] - clearing depended on
57 at least one route being added to workqueue, in order for
58 workqueue completion function to restart FSM. However, if no
59 routes are cleared, then the completion function never is
60 called, it needs to be called manually if the workqueue
61 didn't get scheduled.
62 Finally, clearing is per-peer-session, not per AFI/SAFI, so
63 the FSM synchronisation should be in bgp_clear_route_table.
64 (bgp_clear_route_table) Wrong place for FSM/clearing
65 synchronisation, move to..
66 (bgp_clear_route) FSM/clearing synchronisation should be
67 here.
68 If no routes were cleared, no workqueue scheduled, call
69 the completion func to ensure FSM kicks off again.
Paul Jakmaa3b6ea52006-05-04 07:52:12 +000070
Paul Jakma15aa6a12006-03-30 14:39:35 +0000712006-03-30 Paul Jakma <paul.jakma@sun.com>
72
73 * bgp_community.c: (community_gettoken) Unknown token should
74 return NULL, to give a strong indication to callers that
75 the token no longer can be parsed, otherwise callers looping
76 on this function may have a hard time ending their loop.
77 (community_str2com) While loop around community_gettoken appears
78 to have been coded thinking that break statement would break
79 from the while{}, hence it could never exit for unknown token
80 case. Fix it to do..while, so it can use the NULL result from
81 community_gettoken easily.
82
Paul Jakmaa625ca32006-03-30 14:12:38 +0000832006-03-22 Paul Jakma <paul.jakma@sun.com>
84
85 * bgpd.c: (peer_free) release the per-peer workqueue when
86 freeing the peer.
87
Paul Jakma5304cb52006-03-30 14:01:14 +0000882006-03-19 Paul Jakma <paul.jakma@sun.com>
89
Paul Jakma4bf6a362006-03-30 14:05:23 +000090 * bgpd/bgp_vty.c: Add includes to get several structs we want
91 to provide usage statistics on.
92 (show_bgp_memory_cmd) Show memory usage stats for various
93 notable fixed size objects. Using mtype_stats_alloc and
94 mtype_memstr recently added to memory.c.
95 (bgp_show_summary) Report some additional stats specific to
96 the given BGP instance and/or AFI/SAFI such as table counts,
97 peers, rsclients and peer-groups.
98 (bgp_vty_init) Install show_bgp_memory_cmd.
Paul Jakma5304cb52006-03-30 14:01:14 +000099 * bgp_nexthop.h: Include if.h as a dependent header, for struct
100 connected.
Paul Jakmab51f1262006-03-30 14:09:38 +0000101 * bgp_advertise.c: Use a distinct memory type for struct
102 bgp_synchronize.
Paul Jakma5304cb52006-03-30 14:01:14 +0000103
Paul Jakmacbdfbaa2006-03-30 13:20:48 +00001042006-03-12 Paul Jakma <paul.jakma@sun.com>
105
106 * bgp_attr.h: (struct attr) rearrange fields to avoid
107 wasted padding between them as much as possible.
108 (attr_count,attr_unknown_count) export new functions to
109 return number of counts of cached attributes.
110 * bgp_attr.c: (attr_count,attr_unknown_count) new functions to
111 return number of counts of cached attributes.
112 * bgp_route.h: (struct bgp_info) rearrange fields to avoid
113 wasted padding.
114 * bgp_table.h: (struct bgp_table) Add a count field, of number
115 of nodes in the table.
116 (struct bgp_node) rearrange fields to avoid
117 wasted padding between them, though I don't think there
118 was any in this case.
119 * bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count.
120 (bgp_table_count) new function to access the table count.
121
Paul Jakma3e0c78e2006-03-06 18:06:53 +00001222006-03-03 Paul Jakma <paul.jakma@sun.com>
123
124 * bgp_route.c: (bgp_clear_node_complete) Doh. When clearing
125 is complete we need to kick off FSM again.
126
Paul Jakma64e580a2006-02-21 01:09:01 +00001272006-02-21 Paul Jakma <paul.jakma@sun.com>
128
129 * bgpd.h: move the clear_node_queue to be peer specific.
130 Add a new peer status flag, PEER_STATUS_CLEARING.
131 * bgp_table.h: (struct bgp_table) Add fields to record afi,
132 safi of the table.
133 (bgp_table_init) Take afi and safi to create table for.
134 * bgp_table.c: (bgp_table_init) record the afi and safi.
135 * bgp_nexthop.c: Update all calls to bgp_table_init.
136 * bgp_vty.c: ditto.
137 * bgpd.c: ditto.
138 * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is
139 clearing.
140 * bgp_route.c: (general) Update all bgp_table_init calls.
141 (bgp_process_{rsclient,main}) clear_node is serialised
142 via PEER_STATUS_CLEARING and fsm now.
143 (struct bgp_clear_node_queue) can be removed. struct bgp_node
144 can be the queue item data directly, as struct peer can be
145 kept in the new wq global user data and afi/safi can be
146 retrieved via bgp_node -> bgp_table.
147 (bgp_clear_route_node) fix to get peer via wq->spec.data,
148 afi/safi via bgp_node->bgp_table.
149 (bgp_clear_node_queue_del) no more item data to delete, only
150 unlock the bgp_node.
151 (bgp_clear_node_complete) only need to unset CLEARING flag
152 and unlock struct peer.
153 (bgp_clear_node_queue_init) queue attaches to struct peer
154 now. record peer name as queue name.
155 (bgp_clear_route_table) If queue transitions to active,
156 serialise clearing by setting PEER_STATUS_CLEARING rather
157 than plugging process queue, and lock peer while queue
158 active.
159 Update to pass only bgp_node as per-queue-item specific data.
Paul Jakma6a419732006-02-21 01:14:13 +0000160 * bgp_vty.c: (bgp_show_summary) Add a 'Clrng' sub-description
161 to state of peer while it's suppressed due to clearing.
Paul Jakma64e580a2006-02-21 01:09:01 +0000162
Paul Jakmaaa94ca82006-02-18 10:49:04 +00001632006-02-18 Paul Jakma <paul.jakma@sun.com>
164
165 * bgp_routemap.c: (route_set_community) Quick, very hacky, fix
166 for the set-community leak, bug #89. True fix will be to
167 detangle the web of *_intern caching and provide saner object
168 caching for Quagga, future work.
Paul Jakma7c7fa1b2006-02-18 10:52:09 +0000169 * bgp_route.c: (bgp_announce_check) trivial, move declaration
170 of two local variables into the only block where they are
171 used, to aid the reader.
Paul Jakmaaa94ca82006-02-18 10:49:04 +0000172
paul902212c2006-02-05 17:51:19 +00001732006-02-05 Paul Jakma <paul.jakma@sun.com>
174
175 * bgp_route.h: Add BGP_INFO_COUNTED to track whether
176 prefix has been counted or not.
177 * bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
178 centralise inc/dec of prefix-count,
179 (bgp_rib_remove) Remove pcount decrement, use helper.
180 (bgp_rib_withdraw) ditto, additionally use previous function
181 too.
182 (bgp_update_main) Use pcount helpers.
183 (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
184 clearing.
paul3fff6ff2006-02-05 17:55:35 +0000185 * bgp_aspath.c: (aspath_gettoken) fix gcc warning about
186 possible uninitialised usage.
paul902212c2006-02-05 17:51:19 +0000187
paul306d8892006-02-02 17:50:19 +00001882006-02-02 Paul Jakma <paul.jakma@sun.com>
189
190 * bgp_route.c: (bgp_{clear_node,process}_queue_init) delay
191 field is removed from workqueue spec.
192
paule8e19462006-01-19 20:16:55 +00001932006-01-19 Paul Jakma <paul.jakma@sun.com>
194
195 * (general) various miscellaneous compiler warning fixes.
196 Remove redundant break statements from switch clauses
197 which return.
198 return from main, not exit, cause it annoys SOS.
199 Remove stray semi-colons which cause empty-statement
200 warnings.
201
pauld3092e72006-01-17 17:33:46 +00002022006-01-17 Paul Jakma <paul.jakma@sun.com>
203
204 * bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.
205 (zlookup_query_ipv6) ditto.
206 (bgp_import_check) ditto.
207
paul02335422006-01-16 11:13:27 +00002082006-01-16 Paul Jakma <paul.jakma@sun.com>
209
210 * bgp_aspath.c: (assegment_append_asns) XREALLOC can return
211 NULL theoretically, take care not to lose the allocated data.
212 (aspath_hash_alloc) aspath_dup already set the aspath
213 string - fix leak.
214 (aspath_parse) aspath_hash_alloc dupes the entire aspath,
215 including segments, but we forgot to free the temporary
216 assegment.
paul8fdc32a2006-01-16 12:01:29 +0000217 (aspath_snmp_pathseg) move the static stream pointer out to
218 file scope, so it can be freed.
219 (aspath_finish) new function, free aspath resources.
220 * bgp_aspath.h: (aspath_finish) export.
paul02335422006-01-16 11:13:27 +0000221
paul37c38302006-01-10 22:15:45 +00002222006-01-10 Juris Kalnins <juris@mt.lv>
223
224 * bgpd.h: (bgp_router_id_unset) ex-function, remove.
225
paulad727402005-11-23 02:47:02 +00002262005-11-23 Paul Jakma <paul.jakma@sun.com>
227
228 * bgp_aspath.c: (assegments_parse) should be static
229
2302005-11-23 Juergen Kammer <j.kammer@eurodata.de>
231
232 * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
233 where one or both paths are empty.
234
paul0fb58d52005-11-14 14:31:49 +00002352005-11-14 Paul Jakma <paul.jakma@sun.com>
236
237 * bgp_route.c: (bgp_process_rsclient) convert to new workqueue
238 specs and shut up gcc, which complains about cast from void
239 via function parameters, for some dumb reason. Do the cast
240 inside the function instead.
241 (bgp_process_main,bgp_processq_del) ditto.
242 (bgp_clear_route_node) ditto.
243 (bgp_clear_node_queue_del) ditto.
244
paul41200852005-11-03 12:52:18 +00002452005-11-03 Paul Jakma <paul.jakma@sun.com>
246
247 * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via
248 the struct bgp_damp_info, no need to guess by using
249 bgp_get_default().
250
ajsf52d13c2005-10-01 17:38:06 +00002512005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
252
253 * bgp_vty.c: (bgp_config_write_redistribute) Use new library function
254 zebra_route_string instead of a local hard-coded table.
255
jardin2d74db52005-10-01 00:07:50 +00002562005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
257
258 * bgp_packet.c: fix compilation when DEBUG is used.
259
paul1f8ae702005-09-09 23:49:49 +00002602005-09-10 Paul Jakma <paul.jakma@sun.com>
261
paulfe69a502005-09-10 16:55:02 +0000262 * Makefile.am: bgpd shouldn't list libgp's sources as its own.
263 Use LDADD.
264 * bgp_aspath.h:
265 (struct assegment) New struct, abstract representation of a
266 list of AS_PATH segments and the contained ASNs.
267 (struct aspath) Remove the raw-data related
268 fields, reference the abstract struct assegment instead.
269 Remove several other computed fields, it's just a
270 headache to maintain them and they're cheap to compute from
271 struct assegment.
272 (aspath_parse) parse a stream, not a pointer to raw data.
273 (aspath_count_{hops,confeds,size}) helpers to access
274 information formerly directly contained in struct aspath.
275 (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants
276 to be able to output hex representation of raw data.
277 * bgp_aspath.c: (general) partial-rewrite. Store aspath data
278 as an abstract singly-linked list of abstract segments,
279 rather than storing the raw data, and parsing it each and
280 every time. Remove several count/size fields which are cheap
281 to compute from the abstract segment structure.
282 (global) Include stream.h, needed for aspath_parse, and
283 others. Couple of helper macros added.
284 (struct assegment_header) Just the header, and only the
285 header.
286 (assegment_data_{new,free}) convenience functions for
287 AS_SEG_DATA allocation, the dynamic, per-segment array of
288 ASNs.
289 (assegment_{new,free,free_all,dup,dup_all}) convenience
290 functions for creating struct assegments. The _all forms will
291 follow the entire chain of segments from the given segment.
292 (assegment_prepend_asns) new function, prepend an ASN N times
293 to segment.
294 (assegment_append_asns) Append a list (array) of ASNs to
295 segment.
296 (int_cmp) convenience function for the aspath hash.
297 (assegment_normalise) new function. Normalise the given
298 segment chain to meet expectations of Quagga, and to
299 eliminate differing raw representations of the same paths.
300 Merge 'runs' of SEQUENCEs into one segment as our internal
301 segment is not limited by the protocol AS_PATH segment
302 length. Sort ASNs in SETs.
303 (aspath_new) Take void argument to quell warnings. Use the
304 assegment convenience functions.
305 (assegment_count_{asns,confeds,hops}) new functions to
306 compute at runtime values previously held in struct aspath.
307 (aspath_size) ditto.
308 (aspath_make_str_count) rewritten to stringify new
309 representation, and to be slightly easier to understand
310 hopefully.
311 (aspath_str_update) convenience function, update the aspath
312 str. Should investigate removing maintained string from
313 struct aspath, just run-time compute it, as per other fields.
314 It's just a maintenance headache, would save noticeable
315 amount of RAM with possibly not much extra run-time cost.
316 (aspath_dup) use the assegment dup functions.
317 (aspath_hash_alloc) Take void * argument to satisfy gcc. Use
318 the proper helper functions to dup data.
319 (assegments_parse) new function. parse raw AS_PATH data into
320 struct assegments. Normalise and return the head of the list.
321 (aspath_parse) Parse a stream, not pointer to raw data and
322 use assegments_parse to do it.
323 (assegment_data_put) Write out a single segment data in protocol
324 form to stream.
325 (assegment_header_put) ditto but for segment header.
326 (aspath_put) new function. As per previous but for an entire
327 struct aspath.
328 (aspath_snmp_pathseg) wrapper around aspath_put for
329 bgp_snmp.c. Uses a static buffer sadly.
330 (aspath_aggregate_as_set_add) rewritten to use assegments.
331 (aspath_aggregate) ditto
332 (aspath_{firstas,loop,private_as}_check) ditto
333 (aspath_{merge,prepend,add_one_as}) ditto
334 (aspath_cmp_left{_confed}) ditto
335 (aspath_delete_confed_seq) ditto, plus fixed to properly
336 delete all leading confed segments.
337 (aspath_as_add) Just use assegment_append_asns.
338 (aspath_segment_add) updated to use assegments.
339 (enum as_token) Add values for confeds
340 (aspath_gettoken) Add support for confeds
341 (aspath_str2aspath) ditto
342 (aspath_key_make) updated to use as_segments. Also, add
343 segment type into the hash value as appropriate.
344 (aspath_cmp) updated to use as_segments.
345 (aspath_print) don't segfault on NULL argument.
346 * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream
347 now. No need for manual forwarding of stream.
348 (bgp_packet_attribute) empty aspath is now denoted by NULL
349 segment field, length is gone.
350 Use aspath_size() to determine size.
351 (bgp_attr_init) Fix declaration, explicitely specify void
352 arg.
353 (bgp_dump_routes_attr) Use aspath_size() to determine size.
354 * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions.
355 (bgp_rib_withdraw) remove unused variable. Use
356 aspath_count_hops.
357 * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use
358 aspath_snmp_pathseg to get the representation.
359
3602005-09-10 Paul Jakma <paul.jakma@sun.com>
361
paul1f8ae702005-09-09 23:49:49 +0000362 * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static
363 function declarations shouldn't be inside functions.
364 * bgp_dump.c: (bgp_dump_interval_add) ditto.
365
hassob7395792005-08-26 12:58:38 +00003662005-08-26 Hasso Tepper <hasso at quagga.net>
367
368 * bgp_route.c: Third (?) attempt to fix best selection breakage
369 introduced long time ago with route server patch. Hopefully
370 it's last case to fix - route-server client not in peer group.
371
paul25ffbdc2005-08-22 22:42:08 +00003722005-08-22 Hugo Santos <hsantos@av.it.pt>
373
374 * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
375 commands and BGP_IPV6M_NODE.
376
paulb40d9392005-08-22 22:34:41 +00003772005-08-22 Paul Jakma <paul.jakma@sun.com>
378
379 * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED.
380 BGP_INFO_VALID is already overloaded, don't care to do same thing
381 to STALE or HISTORY.
382 * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a
383 route which should generally be ignored.
384 * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather
385 than doing actual work, so that bgp_process (called directly,
386 or indirectly via the scanner) can catch withdrawn routes.
387 (bgp_info_reap) Actually remove the route, what bgp_info_delete
388 used to do, only for use by bgp_process.
389 (bgp_best_selection) reap any REMOVED routes, other than the old
390 selected route.
391 (bgp_process_rsclient) reap the old-selected route, if appropriate
392 (bgp_process_main) ditto
393 (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with
394 each other. Don't play games with the VALID flag, bgp_process
395 is async now, so it didn't make a difference anyway.
396 Remove the 'force' argument from bgp_rib_withdraw, withdraw+force
397 is equivalent to bgp_rib_remove. Update all its callers.
398 (bgp_update_rsclient) bgp_rib_withdraw and force set is same as
399 bgp_rib_remove.
400 (route_vty_short_status_out) new helper to print the leading
401 route-status string used in many command outputs. Consolidate.
402 (route_vty_out, route_vty_out_tag, damp_route_vty_out,
403 flap_route_vty_out) use route_vty_short_status_out rather than
404 duplicate.
405 (route_vty_out_detail) print state of REMOVED flag.
406 (BGP_SHOW_SCODE_HEADER) update for Removed flag.
407
hassoe279c7a2005-08-03 17:23:20 +00004082005-08-03 Hasso Tepper <hasso at quagga.net>
409
410 * bgp_routemap.c: Revert part of leaking communities fix commited in
411 2005-05-27. While ecommunity fix seems to be correct, community case
412 isn't.
413
paul94f2b392005-06-28 12:44:16 +00004142005-06-28 Paul Jakma <paul.jakma@sun.com>
415
416 * (global) The great bgpd extern and static'ification.
417 * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code
418 (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison
419 warnings.
420 * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these
421 used by various files which had their own private declarations,
422 in the case of mplsvpn - incorrect.
423
paule210cf92005-06-15 19:15:35 +00004242005-06-15 Paul Jakma <paul.jakma@sun.com>
425
426 * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
427 possible to terminate bgpd before workqueues were setup, causing
428 an abort/crash. Reported by Ashish Mehta of Sun.
429
paul200df112005-06-01 11:17:05 +00004302005-06-01 Paul Jakma <paul.jakma@sun.com>
431
432 * (general) refcount struct peer and bgp_info, hence allowing us
433 add work_queues for bgp_process.
434 * bgp_route.h: (struct bgp_info) Add 'lock' field for refcount.
435 Add bgp_info_{lock,unlock} helper functions.
436 Add bgp_info_{add,delete} helpers, to remove need for
437 users managing locking/freeing of bgp_info and bgp_node's.
438 * bgp_table.h: (struct bgp_node) Add a flags field, and
439 BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of
440 nodes.
441 * bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock
442 peer reference as appropriate.
443 * bgp_damp.c: Remove its internal prototypes for
444 bgp_info_delete/free. Just use bgp_info_delete.
445 * bgpd.h: (struct bgp_master) Add work_queue pointers.
446 (struct peer) Add reference count 'lock'
447 (peer_lock,peer_unlock) New helpers to take/release reference
448 on struct peer.
449 * bgp_advertise.c: (general) Add peer and bgp_info refcounting
450 and balance how references are taken and released.
451 (bgp_advertise_free) release bgp_info reference, if appropriate
452 (bgp_adj_out_free) unlock peer
453 (bgp_advertise_clean) leave the adv references alone, or else
454 call bgp_advertise_free cant unlock them.
455 (bgp_adj_out_set) lock the peer on new adj's, leave the reference
456 alone otherwise. lock the new bgp_info reference.
457 (bgp_adj_in_set) lock the peer reference
458 (bgp_adj_in_remove) and unlock it here
459 (bgp_sync_delete) make hash_free on peer conditional, just in
460 case.
461 * bgp_fsm.c: (general) document that the timers depend on
462 bgp_event to release a peer reference.
463 (bgp_fsm_change_status) moved up the file, unchanged.
464 (bgp_stop) Decrement peer lock as many times as cancel_event
465 canceled - shouldnt be needed but just in case.
466 stream_fifo_clean of obuf made conditional, just in case.
467 (bgp_event) always unlock the peer, regardless of return value
468 of bgp_fsm_change_status.
469 * bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's.
470 (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs
471 along with a comment on it.
472 * bgp_route.c: (general) Add refcounting of bgp_info, cleanup
473 some of the resource management around bgp_info. Refcount peer.
474 Add workqueues for bgp_process and clear_table.
475 (bgp_info_new) make static
476 (bgp_info_free) Ditto, and unlock the peer reference.
477 (bgp_info_lock,bgp_info_unlock) new exported functions
478 (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion,
479 taking care of reference counts.
480 (bgp_info_delete) do the opposite of bgp_info_add.
481 (bgp_process_rsclient) Converted into a work_queue work function.
482 (bgp_process_main) ditto.
483 (bgp_processq_del) process work queue item deconstructor
484 (bgp_process_queue_init) process work queue init
485 (bgp_process) call init function if required, set up queue item
486 and add to queue, rather than calling process functions directly.
487 (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts
488 (bgp_rib_withdraw) ditto
489 (bgp_update_rsclient) let bgp_info_add manage refcounts
490 (bgp_update_main) ditto
491 (bgp_clear_route_node) clear_node_queue work function, does
492 per-node aspects of what bgp_clear_route_table did previously
493 (bgp_clear_node_queue_del) clear_node_queue item delete function
494 (bgp_clear_node_complete) clear_node_queue completion function,
495 it unplugs the process queues, which have to be blocked while
496 clear_node_queue is being processed to prevent a race.
497 (bgp_clear_node_queue_init) init function for clear_node_queue
498 work queues
499 (bgp_clear_route_table) Sets up items onto a workqueue now, rather
500 than clearing each node directly. Plugs both process queues to
501 avoid potential race.
502 (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage
503 bgp_info refcounts.
504 (bgp_static_update_rsclient) ditto
505 (bgp_static_update_main) ditto
506 (bgp_static_update_vpnv4) ditto, remove unneeded cast.
507 (bgp_static_withdraw) see bgp_static_withdraw_rsclient
508 (bgp_static_withdraw_vpnv4) ditto
509 (bgp_aggregate_{route,add,delete}) ditto
510 (bgp_redistribute_{add,delete,withdraw}) ditto
511 * bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer
512 reference
513 (peer_rsclient_unset_vty) ditto, but unlock same reference
514 * bgpd.c: (peer_free) handle frees of info to be kept for lifetime
515 of struct peer.
516 (peer_lock,peer_unlock) peer refcount helpers
517 (peer_new) add initial refcounts
518 (peer_create,peer_create_accept) lock peer as appropriate
519 (peer_delete) unlock as appropriate, move out some free's to
520 peer_free.
521 (peer_group_bind,peer_group_unbind) peer refcounting as
522 appropriate.
523 (bgp_create) check CALLOC return value.
524 (bgp_terminate) free workqueues too.
525
hasso033e8612005-05-28 04:50:54 +00005262005-05-28 Hasso Tepper <hasso at quagga.net>
527
528 * bgp_routemap.c: Sync set_metric_addsub_cmd with ripd.
529
hasso54a6ed32005-05-26 22:12:33 +00005302005-05-27 Hasso Tepper <hasso at quagga.net>
531
hasso70601e02005-05-27 03:26:57 +0000532 * bgp_routemap.c: Stop leaking communities.
533
5342005-05-27 Hasso Tepper <hasso at quagga.net>
535
hasso54a6ed32005-05-26 22:12:33 +0000536 * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
537 deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
538 lists.
539
5402005-05-26 Hasso Tepper <hasso at quagga.net>
hassob6b7cff2005-05-26 08:29:07 +0000541
542 * bgpd.c: Don't crash while deleting list of peer-groups.
543
hassob5f29602005-05-25 21:00:28 +00005442005-05-25 Hasso Tepper <hasso at quagga.net>
545
546 * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
547 neighbor x.x.x.x routemap [export|import] commands work again.
548
paula94feb32005-05-23 13:17:29 +00005492005-05-23 Paul Jakma <paul@dishone.st>
550
551 * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change
paul00d252c2005-05-23 14:19:54 +0000552 * bgp_fsm.h: Add extern qualifier to exported functions
553 * bgp_nexthop.c: add static to nexthop specific globals
554 * *.h: Add guard defines
paula94feb32005-05-23 13:17:29 +0000555
paul22db9de2005-05-19 01:50:11 +00005562005-05-19 Paul Jakma <paul@dishone.st>
557
558 * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
559 * bgp_network.c: (bgp_getsockname) ditto
paule83e2082005-05-19 02:12:25 +0000560 (bgp_accept) use XSTRDUP
paul22db9de2005-05-19 01:50:11 +0000561 * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
562 remove one sockunion_free.
paule83e2082005-05-19 02:12:25 +0000563 * bgpd.c: (peer_delete) ditto.
564 XFREE the correct memtype, not free.
565 (peer_create) use XSTRDUP
566 * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
567 (various) update -> s/bgp_stream_dup/stream_dup
568
paul22db9de2005-05-19 01:50:11 +0000569
ajs634f9ea2005-04-11 15:51:40 +00005702005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
571
572 * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
573 The 2nd arg to zebra_redistribute_send is now zclient instead of
574 zclient->sock.
575
hassoa8a80d52005-04-09 13:07:47 +00005762005-04-09 Akihiro Mizutani <mizutani@net-chef.net>
577
578 * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
579 family node.
580
hasso68118452005-04-08 15:40:36 +00005812005-04-08 Martin Ling <martin-quagga@earth.li>
582
583 * bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
584 the length of confederation path segments to be included during the
585 as-path length check in the best path decision.
586
ajsd2fc8892005-04-02 18:38:43 +00005872005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
588
589 * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
590 to IFINDEX_INTERNAL.
591
hasso6cf159b2005-03-21 10:28:14 +00005922005-03-21 Hasso Tepper <hasso at quagga.net>
593
594 * bgp_route.c: Don't crash while clearing route tables if there is
595 no particular afi/safi configured.
596
hasso338b3422005-02-23 14:27:24 +00005972005-02-23 Hasso Tepper <hasso at quagga.net>
598
599 * bgp_route.c: Make reannouncing prefixes with changed attributes
600 work again.
601
hasso6ffd2072005-02-02 14:50:11 +00006022005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
603
hassodd4c5932005-02-02 17:15:34 +0000604 * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
605 transparent-nexthop" commands.
606
6072005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
608
hassoc1643bb2005-02-02 16:43:17 +0000609 * bgp_routemap.c: New route-map command - "match ip route-source".
610
6112005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
612
hassofee6e4e2005-02-02 16:29:31 +0000613 * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
614 community-list cleanup.
615
6162005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
617
hasso6ffd2072005-02-02 14:50:11 +0000618 * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
619 -> "disable-connected-check".
620
6212005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
hasso93406d82005-02-02 14:40:33 +0000622
623 * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
624 bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
625 graceful-restart" commands added. Show numbers of individual
626 messages in "show ip bgp neighbor" command. Final pieces of graceful
627 restart.
628
hassof4184462005-02-01 20:13:16 +00006292005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
630
hassoc9502432005-02-01 22:01:48 +0000631 * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
632 capability route-refresh" commands. Route refresh capability is sent
633 anyway now. Preserve dummy deprecated commands.
634
6352005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
636
hasso3d515fd2005-02-01 21:30:04 +0000637 * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
638 draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
639 version" command as deprecated.
640
6412005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
642
hasso0a486e52005-02-01 20:57:17 +0000643 * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
644 maximum-prefix limit" feature support.
645
6462005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
647
hassof4184462005-02-01 20:13:16 +0000648 * bgp_nexthop.c: Improve debug.
649 * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
650 function.
651 * bgp_packet.c: MP AFI_IP update and withdraw parsing.
652 * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
653 is better place to log about peer status change than bgp_event().
654 Log in bgp_connect_success().
655 * bgp_vty.c: Fix typo in comment.
656 * bgp_attr.c: Better log about unknown attribute.
657
ajs3b8b1852005-01-29 18:19:13 +00006582005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
659
660 * bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
661 of buffer_getstr.
662 * bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
663 returned by buffer_getstr.
664 (bgp_show_community) Must use XFREE instead of free on string
665 returned by buffer_getstr.
666 * bgp_routemap.c: (set_community) Must use XFREE instead of free
667 on string returned by buffer_getstr.
668 * bgp_vty.c: (neighbor_description) Use argv_concat instead of
669 buffer_getstr.
670
hasso6d694292005-01-24 09:29:42 +00006712005-01-24 Hasso Tepper <hasso at quagga.net>
672
673 * bgp_route.c: Fix showstopper bug. New route must be selected also
674 if old one is flaged as BGP_INFO_ATTR_CHANGED.
675
hassof1271652005-01-17 11:04:32 +00006762005-01-17 Hasso Tepper <hasso at quagga.net>
677
678 * bgp_route.c: Clear peer's routing table regardless whether it's
679 configured or not. Being not configured is even better reason to
680 do it.
681
paula24a7e12005-01-05 08:14:13 +00006822005-01-05 Paul Jakma <paul@dishone.st>
683
684 * bgp_packet.c: (bgp_write) set socket to nonblock while writing
685 this should be generalised. See bugzilla #102. Fix supplied by
686 wawa@yandex-team.ru (Vladimir Ivanov).
687
ajsd2c1f162004-12-08 21:10:20 +00006882004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
689
690 * *.c: Change level of debug messages to LOG_DEBUG.
691
ajs274a4a42004-12-07 15:39:31 +00006922004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
693
694 * bgp_main.c: (main) The 2nd argument to openzlog has been removed.
695
ajs887c44a2004-12-03 16:36:46 +00006962004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
697
698 * bgp_main.c: (sigint) Use zlog_notice for termination message.
699 (main) Use zlog_notice for startup announcement.
700
hassoc0652302004-11-25 19:33:48 +00007012004-11-25 Hasso Tepper <hasso at quagga.net>
702
703 * bgp_main.c: Make group to run as configurable.
704
paul59320202004-11-09 01:54:03 +00007052004-11-09 Paul Jakma <paul@dishone.st>
706
707 * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX
708 and cache{1,2}.. into arrays of tables and hence collapse
709 bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though
710 a long time ago (and this change was hand-merged).
711
ajs5a646652004-11-05 01:25:55 +00007122004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
713
714 * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
715 is deprecated because the output did not represent a single point
716 in time. All output needs to be generated inline and buffered
717 by the library code.
718 (route_vty_out,route_vty_out_tag,damp_route_vty_out,
719 flap_route_vty_out) Remove code to count number of lines of output,
720 since this was only useful for VTY_CONTINUE behavior.
721 (bgp_show_callback,vty_calc_line) Removed.
722 (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
723 As a result, there's a new output_arg argument to this function.
724 Make function static.
725 (bgp_show) Make function static and add a new output_arg argument.
726 Change all functions that call bgp_show or bgp_show_table to
727 pass the new output_arg argument (that used to be passed inside
728 vty->output_arg).
729 * bgp_mplsvpn.c: Remove declarations of functions defined in
730 bgp_route.c; these declarations belong in bgp_route.h.
731 * bgp_route.h: Declare 3 global functions used in both bgp_route.c
732 and in bgp_mplsvpn.c.
733
paula2b1ecd2004-10-31 18:58:09 +00007342004-10-31 Paul Jakma <paul@dishone.st>
735
736 * {bgpd,bgp_attr}.c: size_t printf format should be ld.
737
paul98f51632004-10-25 14:19:15 +00007382004-10-25 Paul Jakma <paul@dishone.st>
739
740 * Update with fix in debian bug id 222930.
741 * bgp_main.c: Add ZCAP_RAW, needed to bind to interfaces.
742 bgp_network.c: (....) raise/lower privs around call to
743 SO_BINDTODEVICE sockopt.
744
hasso3fb9cd62004-10-19 19:44:43 +00007452004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
746
747 * bgp_nexthop.c: (bgp_connected_add) Connected destination pointer
748 may be NULL.
749 (bgp_connected_delete) ditto.
750
hasso501ba492004-10-13 21:32:46 +00007512004-10-14 Hasso Tepper <hasso at quagga.net>
752
753 * bgp_dump.c: Make dump configuration appear in vtysh.
754
hassoc75105a2004-10-13 10:33:26 +00007552004-10-13 Hasso Tepper <hasso at quagga.net>
756
757 * bgp_snmp.c: Remove defaults used to initialize smux connection to
758 snmpd. Connection is initialized only if smux peer is configured.
hasso8b3126b2004-10-13 20:59:04 +0000759 * bgp_view.c: It's dead file. Reomved.
hassoc75105a2004-10-13 10:33:26 +0000760
paulfd79ac92004-10-13 05:06:08 +00007612004-10-13 Paul Jakma <paul@dishone.st>
762
763 * (global) more const'ification and fixups of types to clean up code.
764 * bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect,
765 should use something like the VTY_GET_INTEGER macro, but without
766 the vty_out bits..
767 * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE
768 (no_set_aggregator_as) ditto.
769 * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is
770 returned, add comments about troublesome return value.
771
hasso18a6dce2004-10-03 18:18:34 +00007722004-10-03 James R. Leu <jleu at mindspring.com>
773
774 * bgp_vty.c: Router id from zebra can be manually overriden.
775 * bgp_zebra.c: Read router id related messages from zebra daemon.
776 Remove own code related with router id selection.
777 * bgpd.c, bgpd.h: Remove own router id selection code. Use the one
778 from zebra daemon if it isn't manually overriden.
779
hassoc9e52be2004-09-26 16:09:34 +00007802004-09-26 Hasso Tepper <hasso at quagga.net>
781
782 * bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings.
783
hasso52dc7ee2004-09-23 19:18:23 +00007842004-09-23 Hasso Tepper <hasso at quagga.net>
785
786 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
787
paule01f9cb2004-07-09 17:48:53 +00007882004-07-09 Paul Jakma <paul@dishone.st>
789
790 * Merge of GNU Zebra cvs2svn changesets r799, r800 and r807.
791 * bgp_dump.c: (bgp_dump_attr) cleanup. return status code. check
792 attributes present before printing.
793 * bgp_dump.c: update bgp_dump_attr prototype.
794 * bgp_packet.c: (bgp_update_receive) init attrstr. check status
795 of bgp_dump_attr. Log end-of-rib UPDATEs.
796
paulf5ba3872004-07-09 12:11:31 +00007972004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
798
799 * bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
800 if that is connection we're closing.
801 (bgp_read) invalid marker check applies to KEEPALIVE too.
802 * bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
803
paul5228ad22004-06-04 17:58:18 +00008042004-06-04 Paul Jakma <paul@dishone.st>
805
806 * type mismatch fixes
807
hasso538621f2004-05-21 09:31:30 +00008082004-05-21 Akihiro Mizutani <mizutani@net-chef.net>
809
810 * bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c:
811 Graceful restart capability display.
812
hasso3950fda2004-05-20 10:22:49 +00008132005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
814
815 * bgp_debug.c: Cosmetical fixes and log neighbor changes.
816
hasso4372df72004-05-20 10:20:02 +00008172004-05-20 Akihiro Mizutani <mizutani@net-chef.net>
818
819 * bgp_ecommunity.c: Transit ecommunity support.
820 * bgp_ecommunity.c: Fix for unknown community crush.
821
hassoe0701b72004-05-20 09:19:34 +00008222005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
823
824 * *: Maximum prefix threshold support.
825 * *: Reset notification fixups.
826
paul0a589352004-05-08 11:48:26 +00008272004-05-08 Paul Jakma <paul@dishone.st>
828
829 * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes
830 (bgp_interface_address_delete) ditto.
831 (bgp_zebra_announce) ditto.
832 (bgp_zebra_withdraw) ditto.
833
paulc5317402004-05-03 13:25:06 +00008342004-05-03 Daniel Roesen <dr@cluenet.de>
835
836 * bgp_fsm.c: (bgp_stop) Reset uptime only on transition from
837 Established so that it reflects true downtime (rather time
838 since last transition, eg Active->Idle)
839
paul35be31b2004-05-01 18:17:04 +00008402004-05-01 rivo nurges <rix@estpak.ee>
841
842 * bgp_route.c: fix UNH IOL BGP-4.1.12f
843
pauleb821182004-05-01 08:44:08 +00008442004-05-01 Paul Jakma <paul@dishone.st>
845
846 * Revert the attempted clean-up of the dummy peer hack, reverts
847 patchsets 435 (see 2004-02-17 below) and 456.
848
paul545acaf2004-04-20 15:13:15 +00008492004-04-16 rivo nurges <rix@estpak.ee>
850
hasso9b87e412004-04-20 16:54:49 +0000851 * bgpd.h, bgp_debug.c: update cease subcodes to
852 draft-ietf-idr-cease-subcode-05
paul545acaf2004-04-20 15:13:15 +0000853 * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a
854
paul6ad23f02004-02-17 19:45:10 +00008552004-02-17 Paul Jakma <paul@dishone.st>
856
857 * bgpd.h: (bgp_peer) add fd_local and fd_accept
858 file descriptor's, fd becomes a pointer to one of these.
859 * bgpd.c: (global) adjust for fact that fd is now a pointer.
860 (peer_create_accept) removed.
861 * bgp_route.c: (global) adjust for change of peer fd to pointer
862 * bgp_packet.c: (bgp_collision_detect) adjust and remove the
863 "replace with other peer" hack.
864 * bgp_network.c: (bgp_accept) Remove the dummy peer hack.
865 Update peer->fd_accept instead.
866 (global) Adjust fd references - now a pointer.
867 * bgp_fsm.c: (global) adjust peer fd to pointer.
868 (bgp_connection_stop) new function, to stop connection.
869 (global) adjust everything which closed peer fd to use
870 bgp_connection_stop().
871
gdt10d60ad2003-12-23 17:34:39 +00008722003-12-23 Krzysztof Oledzki <oleq@ans.pl>
873
874 * bgp_network.c: drop privs on error cases
875
paul6ad23f02004-02-17 19:45:10 +00008762003-08-11 kunihiro <kunihiro@zebra.org>
paulac41b2a2003-08-12 05:32:27 +0000877
878 * bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
879 ability to specify 'peer-address' rather than IP.
880
paul9238b1e2003-06-11 08:03:08 +00008812003-06-09 Paul Jakma <paul@dishone.st>
882
883 * bgp_clist.c (community_list_delete): honour deny statements
884
paul445f1432003-05-16 19:00:31 +00008852003-04-19 Hasso Tepper <hasso@estpak.ee>
886
887 * rip_routemap.c: sync daemon's route-map commands to have same
888 syntax
889
8902003-01-09 Akihiro Mizutani <mizutani@net-chef.net>
891
892 * bgp_routemap.c: Add match extcommunity command.
893
paul718e3742002-12-13 20:15:29 +00008942002-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
895
896 * bgp_aspath.c (aspath_init): Extend hash size from default to
897 32767.
898 (aspath_key_make): Use unsigned shoft for making hash. Suggested
899 by: Marc Evans <Marc@SoftwareHackery.Com>
900
9012002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
902
903 * bgp_clist.c (community_entry_free): Fix memory leak of standard
904 extcommunity-list config string.
905
9062002-08-19 Akihiro Mizutani <mizutani@net-chef.net>
907
908 * bgp_route.c (route_vty_out_detail): Fix bug of router-id display
909 when multiple instance is used.
910
9112002-08-18 Akihiro Mizutani <mizutani@net-chef.net>
912
913 * bgpd.c: Make "default-originate" and "maximum-prefix" commands
914 available in peer-group configuration.
915
9162002-08-13 Akihiro Mizutani <mizutani@net-chef.net>
917
918 * bgp_packet.c (bgp_open_send): Put Opt Parm Len 0 when last
919 capability packet cause error or dont-capability-negotiate option
920 is specified.
921
9222002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
923
924 * zebra-0.93 released.
925
9262001-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
927
928 * bgpd.c (bgp_vty_init): Translate update commands are removed.
929
9302001-10-10 Kunihiro Ishiguro <kunihiro@zebra.org>
931
932 * bgp_route.c (bgp_static_set): Add workaround for BGP static
933 route announcement when there is no zebra running.
934
9352001-10-08 Kunihiro Ishiguro <kunihiro@zebra.org>
936
937 * bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri
938 unicast multicast" commands.
939
9402001-09-14 Akihiro Mizutani <mizutani@dml.com>
941
942 * bgp_open.c: When we receive capability route-refresh, we should
943 check we send the capability not we receive the capability.
944
945 * bgp_route.c (bgp_network_mask_natural_route_map): network
946 statement route-map is added.
947
9482001-08-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
949
950 * bgp_advertise.c (bgp_advertise_intern): attr must be interned
951 before looking up hash table.
952
9532001-08-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
954
955 * bgpd.h (struct peer): BGP filter is moved from peer_conf to
956 peer.
957
9582001-08-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
959
960 * bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug.
961 Suggested by: "Hong-Sung Kim" <hoskim@lanbird.co.kr>.
962
9632001-08-26 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
964
965 * bgp_table.c (bgp_node_create): Clearn memory before use it.
966
9672001-08-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
968
969 * Change to use bgp_table.[ch].
970
9712001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
972
973 * bgpd.c (bgp_init): Add "transparent-as" and
974 "transparent-nexthop" for old version compatibility.
975
9762001-08-23 Akihiro Mizutani <mizutani@dml.com>
977
978 * bgpd.h (struct peer): default-originate route-map is added.
979
980 * bgp_route.c: When self originated route is advertised with
981 attrubute-unchanged, nexthop was not properly set. This bug is
982 fixed.
983
9842001-08-22 Akihiro Mizutani <mizutani@dml.com>
985
986 * bgpd.c (neighbor_attr_unchanged): transparent-as and
987 transparent-next-hop commands are restructured. Instead of
988 current transparent-* commands, attribute-unchanged command is
989 introduced.
990
991 neighbor A.B.C.D attribute-unchanged [as-path|next-hop|med]
992
993 (neighbor_default_originate): "default-originate" configuration
994 announce default route even 0.0.0.0/0 does not exists in BGP RIB.
995
9962001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
997
998 * zebra-0.92a released.
999
10002001-08-19 Akihiro Mizutani <mizutani@dml.com>
1001
1002 * bgpd.c: AF specific soft-reconfiguration inbound commands are
1003 added.
1004
10052001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1006
1007 * bgp_route.c (bgp_show_callback): Do not do community NULL check.
1008
1009 * bgp_community.c (community_cmp): Add check for commnunity NULL
1010 check.
1011
1012 * bgp_routemap.c (route_match_community): Do not check comunity is
1013 NULL. It may match to community-list "^$".
1014
1015 * bgp_community.c (community_match): Add check for community is
1016 NULL case.
1017
10182001-08-17 Akihiro Mizutani <mizutani@dml.com>
1019
1020 * bgpd.c: AF specific route-reflector-client and
1021 route-server-client configuration are added.
1022
10232001-08-17 Rick Payne <rickp@ayrnetworks.com>
1024
1025 * bgp_clist.c (community_match_regexp): Check special ^$ case.
1026
10272001-08-17 Akihiro Mizutani <mizutani@dml.com>
1028
1029 * bgp_clist.c (community_list_match): Fix bug of community list
1030 permit and deny check.
1031
10322001-08-16 Akihiro Mizutani <mizutani@dml.com>
1033
1034 * bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self"
1035 command.
1036
10372001-08-15 Akihiro Mizutani <mizutani@dml.com>
1038
1039 * bgpd.h (PEER_FLAG_SEND_COMMUNITY): Per AF based configuration
1040 flag is introduced.
1041
1042 * bgp_mplsvpn.c (bgp_mplsvpn_init): VPNv4 filtering is added.
1043
10442001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1045
1046 * zebra-0.92 released.
1047
10482001-08-13 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1049
1050 * bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib
1051 table properly.
1052
10532001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1054
1055 * bgp_route.c (bgp_node_safi): Return SAFI of current node.
1056 (bgp_config_write_network_vpnv4): VPNv4 static configuration
1057 display.
1058
10592001-08-11 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1060
1061 * bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast
1062 node filter commands.
1063
10642001-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1065
1066 * bgpd.h (PEER_FLAG_IGNORE_LINK_LOCAL_NEXTHOP): Add
1067 "ignore-link-local-nexthop" flag for ignore link-local nexthop for
1068 IPv6.
1069
10702001-08-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1071
1072 * bgpd.c (address_family_ipv4_multicast): "address-family ipv4
1073 multicast" is added.
1074 (address_family_ipv6_unicast): "address-family ipv6 unicast" is
1075 added.
1076
10772001-08-07 Akihiro Mizutani <mizutani@dml.com>
1078
1079 * bgp_route.c (bgp_process): Use flag instead of as_selected
1080 memeber in struct bgp_info.
1081
1082 * bgp_route.h (struct bgp_info): Remove as_selected memeber from
1083 struct bgp_info.
1084
10852001-07-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1086
1087 * bgp_route.c (bgp_announce_check): Enclose sending time AS loop
1088 check code with #ifdef BGP_SEND_ASPATH_CHECK.
1089
10902001-07-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1091
1092 * bgp_packet.c (bgp_withdraw_send): Simplify address family check.
1093
1094 * bgpd.h (BGP_INFO_HOLDDOWN): Introduce new macro to check BGP
1095 information is alive or not.
1096
1097 * bgp_community.c: Use community_val_get() on all OS.
1098
10992001-07-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1100
1101 * bgp_route.c (bgp_announce_check): Simplify set next-hop self
1102 check.
1103
11042001-07-24 Akihiro Mizutani <mizutani@dml.com>
1105
1106 * bgp_route.c (bgp_announce_check): To route server clients, we
1107 announce AS path, MED and nexthop transparently.
1108
11092001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1110
1111 * bgp_routemap.c (route_set_atomic_aggregate_free): Do not call
1112 XFREE. No memory is allocated in
1113 route_set_atomic_aggregate_compile().
1114
11152001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1116
1117 * bgp_routemap.c (bgp_route_map_init): `match nlri` and `set nlri`
1118 are replaced by `address-family ipv4` and `address-family vpnvr'.
1119
11202001-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1121
1122 * bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED.
1123 Reported by Rick Payne <rickp@rossfell.co.uk>.
1124
11252001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1126
1127 * bgp_zebra.c (bgp_zebra_announce): When global IPv6 nexthop is
1128 empty, use socket's remote address for the nexthop.
1129
11302001-06-04 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1131
1132 * bgpd.c (peer_delete): Fix memory leak. Reported by Yosi Yarchi
1133 <Yosi_Yarchi@KereniX.com>
1134
11352001-06-01 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1136
1137 * bgpd.c (bgp_delete): Fix memory leak. Reported by Yosi Yarchi
1138 <Yosi_Yarchi@KereniX.com>
1139
11402001-05-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1141
1142 * bgp_route.c (bgp_route_clear_with_afi_vpnv4): Use next instead
1143 of ri->next.
1144
1145 * bgp_packet.c (bgp_withdraw_send): MPLS/VPN withdraw takes effect
1146 when HAVE_IPV6 is not defined.
1147
11482001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1149
1150 * bgpd.c (peer_timers_set): Adjust keepalive timer to fit less
1151 than holdtime / 3.
1152 (bgp_confederation_peers_unset): Only set peer->local_as when
1153 confederation is enabled.
1154 (bgp_timers): Add "timers bgp <0-65535> <0-65535>" command.
1155
1156 * bgp_route.c (bgp_announce_check): Set med of redistributed route
1157 when it is announced to EBGP peer.
1158
11592001-03-06 "Akihiro Mizutani" <mizutani@dml.com>
1160
1161 * bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for
1162 all prefixes.
1163
11642001-03-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1165
1166 * bgp_attr.c (bgp_attr_origin): When bgpd send NOTIFICATION with
1167 erroneous attribute (type, length and value), it does include
1168 attribute flags field.
1169
11702001-02-21 "Akihiro Mizutani" <mizutani@dml.com>
1171
1172 * bgp_route.c (bgp_announce_check): The route reflector is not
1173 allowed to modify the attributes of the reflected IBGP routes.
1174
11752001-02-20 "Akihiro Mizutani" <mizutani@dml.com>
1176
1177 * bgp_route.c (bgp_info_cmp): During path seleciton, BGP
1178 confederation peer is treated as same as IBGP peer.
1179
11802001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1181
1182 * bgp_route.c (bgp_redistribute_add): Initialize attr_new with
1183 attr. Call aspath_unintern when return from this function.
1184
11852001-02-19 "Akihiro Mizutani" <mizutani@dml.com>
1186
1187 * bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is
1188 changed.
1189
11902001-02-18 "Akihiro Mizutani" <mizutani@dml.com>
1191
1192 * bgp_packet.c (bgp_open_receive): When user configure holdtimer,
1193 do not refrect the value to current session.
1194
11952001-02-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1196
1197 * bgp_route.c (bgp_aggregate_delete): Set BGP_INFO_ATTR_CHANGE to
1198 suppress route withdraw.
1199
1200 * bgp_damp.c (bgp_damp_init): Fix bug of flap dampening.
1201
12022001-02-16 "Akihiro Mizutani" <mizutani@dml.com>
1203
1204 * bgp_aspath.c (aspath_make_str_count): Use ',' for separator for
1205 AS_SET and AS_CONFED_SET.
1206
12072001-02-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1208
1209 * bgp_route.c (bgp_process): Do not consider suppress route.
1210
1211 * bgp_aspath.c (aspath_aggregate_as_set_add): Reset asset when
1212 aspath->data is realloced.
1213
12142001-02-15 "Akihiro Mizutani" <mizutani@dml.com>
1215
1216 * bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic
1217 aggregate when using as-set.
1218
12192001-02-14 "Akihiro Mizutani" <mizutani@dml.com>
1220
1221 * bgpd.c (bgp_confederation_peers_unset): Set peer's local-as
1222 correctly.
1223
1224 * bgp_route.c (bgp_update): Just ignore AS path loop for
1225 confederation peer.
1226
12272001-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1228
1229 * bgp_route.c (bgp_aggregate_set): Add as_set argument.
1230 (bgp_aggregate_unset): Remove summary_only argument.
1231 (aggregate_address_as_set): New commands.
1232 "aggregate-address A.B.C.D/M as-set"
1233 "no aggregate-address A.B.C.D/M as-set"
1234
12352001-02-08 "Akihiro Mizutani" <mizutani@dml.com>
1236
1237 * bgp_route.c (bgp_announce_check): Do not modify nexthop when the
1238 route is passed by route reflector.
1239
12402001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1241
1242 * bgp_route.c: "no bgp dampening" with argument.
1243 (bgp_announce_check): Do not modify nexthop when the route is
1244 passed by route reflector.
1245
12462001-02-07 "Akihiro Mizutani" <mizutani@dml.com>
1247
1248 * bgpd.c (neighbor_passive): Change "neighbor NEIGHBOR remote-as
1249 ASN passive" to "neighbor NEIGHBOR passive".
1250 (bgp_announce_check): Check well-known community attribute even
1251 when "no neighbor send-community" is set.
1252
12532001-02-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1254
1255 * bgp_fsm.c (bgp_establish): Do not send keepalive at established
1256 time when keepalive timer is configured as zero.
1257
12582001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1259
1260 * bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local
1261 preference is well-known attribute.
1262
12632001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1264
1265 * zebra-0.91 is released.
1266
1267 * bgp_attr.h (struct attr): Comment out DPA value.
1268 (struct attr): Change refcnt type from int to unsinged long.
1269
1270 * bgp_attr.c (attrhash_key_make): Likewise.
1271 (attrhash_cmp): Likewise.
1272 (bgp_attr_dpa): Likewise.
1273
12742001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1275
1276 * bgp_route.c (bgp_info_cmp): Make route selection completely same
1277 as Cisco's.
1278
12792001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1280
1281 * bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to
1282 BGP_ATTR_FLAG_* to clarify meenings.
1283
12842001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1285
1286 * bgp_route.c (route_vty_out): Display argument to suppress same
1287 prefix information display.
1288 (route_vty_out_route): Don't display mask information for
1289 classfull network.
1290
12912001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1292
1293 * bgp_attr.h (SET_BITMAP): Simple bitmapping macros.
1294
1295 * bgp_attr.c (bgp_attr_parse): Use bitmap for attribute type
1296 check.
1297
12982001-01-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1299
1300 * bgp_attr.c (bgp_mp_reach_parse): Enclose loggin with BGP_DEBUG.
1301 (bgp_attr_parse): Comment out well-known attribute check.
1302
13032001-01-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1304
1305 * bgp_route.c (bgp_static_unset): Link-local IPv6 address can't be
1306 used for network advertisement.
1307 (nlri_parse): When link-local IPv6 address NLRI comes from
1308 remote-peer, log the information then simply ignore it.
1309
1310 * bgp_zebra.c (zebra_read_ipv6): Link-local IPv6 address is not
1311 redistributed.
1312
1313 * bgp_route.c (bgp_update): Check IPv6 global nexthop
1314 reachability.
1315
13162001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1317
1318 * bgp_route.c (bgp_update): Check nexthop points local address or
1319 not.
1320 (bgp_static_update_vpnv4): Set valid flag.
1321
1322 * bgp_attr.c (bgp_attr_parse): Duplicate attribute check.
1323 (bgp_attr_parse): Well-known attribute check.
1324
1325 * bgp_open.c (bgp_auth_parse): Authentication is not yet supported.
1326
1327 * bgp_packet.c (bgp_valid_marker): Check marker is synchronized.
1328
1329 * bgpd.c (clear_bgp): Send NOTIFICATION Cease when SEND_CEASE is
1330 defined.
1331
1332 * bgp_snmp.c (bgp4PathAttrTable): Fix compile error.
1333
13342001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1335
1336 * bgpd.c (bgp_network_import_check): New command for IGP network
1337 check.
1338
13392001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1340
1341 * bgp_nexthop.c (bgp_scan): Run bgp_process when IGP metric is
1342 changed. Call bgp_process once for each node.
1343
13442001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1345
1346 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1347
13482001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1349
1350 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1351
1352 * bgp_nexthop.c (bgp_nexthop_lookup): Set IGP metric for valid
1353 IBGP route.
1354
13552001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1356
1357 * bgp_route.c (show_ip_bgp_prefix_longer): Add new commands.
1358 "show ip bgp A.B.C.D/M longer-prefixes"
1359 "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes"
1360 "show ipv6 bgp X:X::X:X/M longer-prefixes"
1361 "show ipv6 mbgp X:X::X:X/M longer-prefixes"
1362
13632001-01-20 "Akihiro Mizutani" <mizutani@dml.com>
1364
1365 * bgp_route.c (show_ip_bgp_cidr_only): Add new commands.
1366 "show ip bgp cidr-only"
1367 "show ip bgp ipv4 (unicast|multicast) cidr-only"
1368
13692001-01-18 "Akihiro Mizutani" <mizutani@dml.com>
1370
1371 * bgp_route.c (bgp_update): AS path lookup check is done in
1372 bgp_update() not in attr_parse().
1373
13742001-01-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1375
1376 * bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just
1377 before bgp_attr_unintern().
1378
13792001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1380
1381 * bgp_route.c (bgp_update): Now intern is performed very last part
1382 of the BGP packet update procedure.
1383
13842001-01-17 "Akihiro Mizutani" <mizutani@dml.com>
1385
1386 * bgp_route.c (bgp_update): When implicit withdraw occur, reuse
1387 existing bgp_info structure.
1388
13892001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1390
1391 * bgp_route.c (bgp_aggregate_decrement): Fix bug of aggregate
1392 address matching method.
1393 (bgp_update):
1394
1395 * bgp_nexthop.c (bgp_nexthop_onlink): Separate EBGP nexthop onlink
1396 check and IBGP nexthop route check.
1397
13982001-01-16 "Akihiro Mizutani" <mizutani@dml.com>
1399
1400 * bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute
1401 change.
1402
14032001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1404
1405 * bgp_route.h (struct bgp_info): Remove selected flag. Use
1406 BGP_INFO_SELECTED for flags instead.
1407 (struct bgp_info): Remove valid flag. Use BGP_INFO_VALID for
1408 flags instead.
1409 (struct bgp_info): Add igpmetric for IBGP route nexthop IGP
1410 metric.
1411 (struct bgp_info_tab): Struct bgp_info_tag is integrated into
1412 struct bgp_info.
1413 (BGP_INFO_ATRR_CHANGED): Added for track attribute change.
1414
1415 * bgp_community.c (community_val_get): gcc-2.95 on
1416 sparc-sun-solaris cause crush. This function is for avoid the
1417 crush.
1418
14192001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1420
1421 * bgp_packet.c (bgp_open_receive): Translated peer's packet_size
1422 clear bug is fixed.
1423
14242001-01-14 "Akihiro Mizutani" <mizutani@dml.com>
1425
1426 * bgp_packet.c (bgp_open_receive): Return notification with
1427 supported version number.
1428
14292001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1430
1431 * bgpd.c (bgp_show_summary): Display AS path and community
1432 entries. Suggested by: "Matt Ranney" <mjr@ranney.com>.
1433
1434 * bgp_packet.c (bgp_read_packet): Fix bug of unblocking BGP socket
1435 read. When BGP packet read is partial, we must get size and type
1436 from packet again.
1437
14382001-01-12 "Akihiro Mizutani" <mizutani@dml.com>
1439
1440 * bgp_route.c (bgp_update): Do not unset BGP_INFO_HISTORY flag.
1441 (bgp_update): When there is a history entry increment route count.
1442 (bgp_damp_set): Check BGP_CONFIG_DAMPENING flag.
1443
1444 * bgp_damp.c (bgp_damp_withdraw): Set status to
1445 BGP_DAMP_DISCONTINUE.
1446
14472001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1448
1449 * bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second
1450 IPv6 nexthop is not link-local addresss.
1451
14522001-01-11 "Akihiro Mizutani" <mizutani@dml.com>
1453
1454 * bgp_damp.c (bgp_config_write_damp): Smart flap dampening
1455 configuration display.
1456 (bgp_damp_info_print): Display elapsed time from flap started.
1457
1458 * bgp_damp.h (struct bgp_damp_info): Add flap start time.
1459
1460 * bgpd.c (peer_create): Set last read time.
1461 (bgp_show_peer): Display last read time.
1462 (bgp_show_summary): Use BGP_CONFIG_DAMPENING flag to check
1463 configuration.
1464
1465 * bgpd.h (BGP_CONFIG_DAMPENING): Add new configuration option.
1466 (struct peer): Add last read time member.
1467 (BGP_VERSION_MP_4): Remove obsolete definition.
1468
14692001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1470
1471 * bgp_nexthop.c: Remove OLD_RIB codes.
1472
1473 * bgp_route.c (bgp_process): Likewise.
1474
1475 * zebra-0.90 is released.
1476
1477 * bgp_route.h (BGP_INFO_HISTORY): Remove damped member from struct
1478 bgp_info. Instead of that use BGP_INFO_DAMPED flag.
1479 (struct bgp_info): Remove invalid member from struct bgp_info.
1480 Instead of that use BGP_INFO_HISTORY flag.
1481
14822001-01-10 "Akihiro Mizutani" <mizutani@dml.com>
1483
1484 * bgp_damp.c (bgp_damp_info_print): New function to display
1485 dampening status.
1486 (DEFAULT_HARF_LIFE): Define default value.
1487 (DEFAULT_REUSE): Likewise.
1488 (DEFAULT_SUPPRESS): Likewise.
1489 (bgp_config_write_damp): When config value is same as default
1490 value, simply display "bgp dampening" to configuration.
1491
1492 * bgp_damp.h (struct bgp_damp_info): Add flap member.
1493
1494 * bgp_route.h (struct bgp_info): Added for BGP flap dampening
1495 history status.
1496
14972001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1498
1499 * bgp_nexthop.c (bgp_connected_add): Point-to-point connected
1500 address is properly handled.
1501 (bgp_connected_delete): Likewise.
1502
1503 * bgp_route.c (bgp_route_init): Turn off BGP Flap dampening code
1504 until it works fine.
1505
15062001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1507
1508 * bgpd.c (bgp_show_summary): Add BGP_VERSION_MP_4 case.
1509
1510 * bgp_route.c (bgp_update): When this is not damped route, clear
1511 ri pointer.
1512
15132001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1514
1515 * bgp_main.c: Add "-n" no_kernel option to not install route to
1516 kernel. Suggested by: "Matt Ranney" <mjr@ranney.com>
1517
15182001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1519
1520 * bgp_nexthop.c (bgp_connected_add): Revert point-to-point
1521 connected route patch. Reported by ruud@ruud.org (Ruud de Rooij)
1522
1523 * bgp_damp.c (bgp_config_write_damp): Add configuration display
1524 function.
1525
1526 * bgp_route.c (bgp_info_free): Set NULL to BGP dampening
1527 information when BGP info structure is freed.
1528 (bgp_info_cmp): Check damped flag.
1529 (bgp_announce_check): Damped route is not announced.
1530
15312001-01-09 "Akihiro Mizutani" <mizutani@dml.com>
1532
1533 * bgpd.c (neighbor_capability_route_refresh): Change "neighbor
1534 route-refresh" command to "neighbor capability route-refresh".
1535 (clear_bgp_soft_in): Change soft-reconfig method.
1536
1537 clear ip bgp <neighbor> soft in
1538 --------------------------------------
1539 Try stored cache first then route-refresh
1540
1541 clear ip bgp <neighbor> in
1542 ---------------------------------
1543 Try route-refresh first then try to use stored cache
1544
15452001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1546
1547 * bgp_nexthop.c (bgp_connected_add): Check point-to-point
1548 connected route. Reported by ruud@ruud.org (Ruud de Rooij)
1549
15502001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1551
1552 * bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is
1553 changed, refresh it.
1554
15552001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1556
1557 * bgp_route.h (struct bgp_info_tag): Add as_selected to
1558 bgp_info_tag.
1559
15602001-01-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1561
1562 * bgp_route.h (struct bgp_info_tag): Add damped and bgp_damp_info
1563 member for BGP flap dampening.
1564
1565 * bgp_damp.c: New file is added.
1566
1567 * bgp_damp.h: Likewise.
1568
15692001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1570
1571 * bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd".
1572
15732000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1574
1575 * bgp_nexthop.c (zlookup_connect): Change to use UNIX domain
1576 socket for zebra communication.
1577
15782000-12-29 Akihiro Mizutani <mizutani@dml.com>
1579
1580 * bgp_route.c (bgp_process): Fix "bgp deterministic-med" process.
1581
15822000-12-27 Akihiro Mizutani <mizutani@dml.com>
1583
1584 * bgp_route.c (bgp_process): Add "bgp deterministic-med" process.
1585
15862000-12-25 Akihiro Mizutani <mizutani@dml.com>
1587
1588 * bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID.
1589
15902000-12-18 Akihiro Mizutani <mizutani@dml.com>
1591
1592 * bgp_route.c (bgp_info_cmp): When over three same prefix exit,
1593 withdrawing best prefix perform router ID comparison.
1594
15952000-12-15 Akihiro Mizutani <mizutani@dml.com>
1596
1597 * bgp_route.c (bgp_info_cmp): Do not compare router ID when the
1598 routes comes from EBGP peer. When originator ID is same, take
1599 shorter cluster-list route. If cluster-list is same take smaller
1600 IP address neighbor's route.
1601
1602 * bgpd.c (bgp_bestpath_aspath_ignore): Add "bgp bestpath as-path
1603 ignore" command. When this option is set, do not concider AS path
1604 length when route selection.
1605 (bgp_bestpath_compare_router_id): Add "bgp bestpath
1606 compare-routerid". When this option is set, compare router ID
1607 when the routes comes from EBGP peer.
1608
16092000-12-15 Akihiro Mizutani <mizutani@dml.com>
1610
1611 * bgp_route.c (bgp_info_cmp): Compare originator ID when it is
1612 available.
1613
16142000-12-14 Akihiro Mizutani <mizutani@dml.com>
1615
1616 * bgp_packet.c (bgp_notify_receive): Disply received Notify data
1617 information.
1618
16192000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1620
1621 * bgp_filter.c (as_filter_free): Use MTYPE_AS_FILTER_STR to make
1622 it sure the memory is freed.
1623
1624 * bgp_route.c (route_vty_out_detail): Do not use AF_INET6 outside
1625 HAVE_IPV6.
1626
16272000-12-08 Akihiro Mizutani <mizutani@dml.com>
1628
1629 * bgp_packet.c (bgp_notify_send_with_data): Store BGP notification
1630 data part.
1631
1632 * bgp_network.c (bgp_accept): When BGP connection comes from
1633 unconfigured IP address, close socket immediately.
1634
1635 * bgpd.c: Fix some display format.
1636
16372000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1638
1639 * bgp_packet.c (bgp_keepalive_send): Delete duplicate
1640 bgp_packet_set_size () call.
1641
16422000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1643
1644 * bgp_packet.c (bgp_read_packet): Remove debug codes.
1645
16462000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1647
1648 * bgp_snmp.c (write_bgpPeerTable): Add SNMP set method routine.
1649
1650 * bgp_fsm.c (bgp_stop): Use fsm_change_status to change peer's
1651 status.
1652 (bgp_establish): Likewise.
1653
16542000-11-26 Akihiro Mizutani <mizutani@dml.com>
1655
1656 * bgp_open.c: Fix error messages.
1657
16582000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1659
1660 * bgp_fsm.c (bgp_establish): Call BGP trap when the peer is
1661 established.
1662 (bgp_stop): Call BGP trap when the peer is dropped.
1663
16642000-11-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1665
1666 * bgp_snmp.c (bgp4PathAttrTable): Return BGP path attribute table.
1667
1668 * bgpd.h (struct peer): Add update_time for track last update
1669 received time.
1670
1671 * bgp_packet.c (bgp_notify_receive): Preserv notify code and sub
1672 code in any case.
1673
1674 * bgp_snmp.c (bgpPeerTable): Return remote router ID instead of
1675 peering IP address.
1676 (bgpPeerTable): Return actual BGP version number.
1677
16782000-11-22 Akihiro Mizutani <mizutani@dml.com>
1679
1680 * bgp_debug.c (bgp_notify_print): Notify data length display bug
1681 is fixed.
1682
16832000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1684
1685 * bgp_nexthop.c (zlookup_connect): When UNIX domain connection to
1686 zebra is enabled, use the method.
1687
16882000-11-16 Akihiro Mizutani <mizutani@dml.com>
1689
1690 * bgpd.c: Revise debug message output.
1691
16922000-11-15 Akihiro Mizutani <mizutani@dml.com>
1693
1694 * bgp_clist.c (ip_community_list): Fix bug of string comparison.
1695
16962000-11-14 Akihiro Mizutani <mizutani@dml.com>
1697
1698 * bgp_community.c (community_match): Fix bug of memcmp return
1699 value check.
1700
17012000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1702
1703 * bgp_clist.c (community_list_match_exact): Add check for
1704 entry->style is COMMUNITY_LIST.
1705 (community_match_regexp): Apply new com_nthval macro.
1706
17072000-11-07 Rick Payne <rickp@rossfell.co.uk>
1708
1709 * bgp_routemap.c (route_set_community_delete): "set
1710 community-delete COMMUNITY-LIST" is added.
1711
1712 * bgp_community.c (community_del_val): Delete one community.
1713 (community_delete): Delete all community included in list.
1714 (community_match): Fix bug of matching community value.
1715
1716 * bgp_clist.c (community_entry_free): Free community regular
1717 expression.
1718 (community_entry_make): Default style is COMMUNITY_LIST.
1719 (community_entry_lookup): Make it sure style is COMMUNITY_LIST.
1720 (community_entry_regexp_lookup): New function for community
1721 regular expression lookup.
1722 (community_match_regexp): New function.
1723 (community_delete_regexp): New function.
1724 (community_list_delete_entries): New function.
1725 (community_list_match): Add COMMUNITY_REGEXP treatment.
1726 (community_list_match_exact): Likewise.
1727 (config_write_community): Write community list according to
1728 entry->style.
1729
17302000-11-07 Rick Payne <rickp@rossfell.co.uk>
1731
1732 * bgp_attr.c (bgp_attr_aspath): AS path first AS check.
1733
1734 * bgp_clist.c (struct community_entry): Add style, regexp, reg to
1735 community_entry.
1736
17372000-11-06 Rick Payne <rickp@rossfell.co.uk>
1738
1739 * bgp_aspath.c (aspath_firstas_check): AS path first AS check.
1740
1741 * bgpd.c (bgp_enforce_first_as): New command "bgp
1742 enforce-first-as".
1743
1744 * bgpd.h (BGP_CONFIG_ENFORCE_FIRST_AS): Add new flag.
1745
17462000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1747
1748 * bgp_community.c (community_compare): Copy byte stream data to
1749 actual value instead of using type casting hack.
1750 (community_add_val): Likewise.
1751 (community_uniq_sort): Likewise.
1752 (community_print): Likewise.
1753 (community_print_vty): Likewise.
1754 (community_include): Use memcmp to compare community value.
1755
1756 * bgp_community.h (com_lastval): com_lastval and com_nthval macro
1757 return pointer.
1758
17592000-11-06 Akihiro Mizutani <mizutani@dml.com>
1760
1761 * bgpd.h (struct peer): Add established and dropped member for
1762 count peering up/down statistics.
1763
1764 * bgpd.c (bgp_show_peer): Display peering up/down statistics.
1765
1766 * bgp_fsm.c (bgp_establish): Increment established count.
1767 (bgp_stop): Increment dropped count.
1768
1769 * bgp_packet.c (bgp_notify_receive): Increament notify count.
1770
17712000-11-1 Akihiro Mizutani <mizutani@dml.com>
1772
1773 * bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared.
1774
17752000-10-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1776
1777 * bgpd.h: Static bit flag is set by (1 << DIGIT).
1778
17792000-10-24 Akihiro Mizutani <mizutani@dml.com>
1780
1781 * bgp_ecommunity.c (ecommunity_dup): Extended community display
1782 format fix.
1783
17842000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1785
1786 * bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror.
1787 (bgp_serv_sock_addrinfo): Check address family.
1788
17892000-10-23 Jochen Friedrich <jochen@scram.de>
1790
1791 * bgp_snmp.c: bgp_oid and bgpd_oid are used in smux_open after it
1792 is registered. So those variables must be static.
1793
17942000-10-23 Akihiro Mizutani <mizutani@dml.com>
1795
1796 * bgp_routemap.c (route_match_ip_next_hop): Change "match ip
1797 next-hop" argument from IP address to access-list name.
1798 Remove zebra-0.88 compatibility commands.
1799 "match ip prefix-list WORD"
1800 "match ipv6 prefix-list WORD"
1801
18022000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1803
1804 * bgp_routemap.c (route_match_ipv6_next_hop_compile): Fix bug of
1805 passing the pointer to the pointer of struct in6_addr instead of
1806 the pointer of struct in6_addr in "match ipv6 next-hop" command.
1807
1808 * bgp_route.c (bgp_announce_check): Enclose IPv6 part with
1809 HAVE_IPV6.
1810
18112000-10-20 Jasper Wallace <jasper@ivision.co.uk>
1812
1813 * bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed. Change
1814 to use linklist.c. Define COUNTER32 as ASN_COUNTER.
1815
18162000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1817
1818 * bgp_route.c (bgp_announce_check): attr->nexthop empty check
1819 should be done by attr->nexthop.s_addr instead of strcmp.
1820
18212000-10-18 Akihiro Mizutani <mizutani@dml.com>
1822
1823 * bgp_zebra.c (zebra_read_ipv4): Pass nexthop value to
1824 bgp_redistribute_add().
1825
1826 * bgp_nexthop.c (bgp_multiaccess_check_v4): New function for
1827 checking IPv4 multiaccess nexthop.
1828
1829 * bgp_route.c (bgp_announce_check): In case of the nexthop is
1830 reachable on multiaccess media, do not change nexthop.
1831 (bgp_redistribute_add): Set nexthop when the value is passed.
1832
18332000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1834
1835 * bgp_fsm.c (bgp_timer_set): If peer is passive mode, do not set
1836 connect timer.
1837 (bgp_start): If the peer is passive mode, force to move to Active
1838 mode.
1839
18402000-10-17 Horms <horms@vergenet.net>
1841
1842 * bgp_debug.c (debug_bgp_fsm): Fix typo.
1843
18442000-10-17 Akihiro Mizutani <mizutani@dml.com>
1845
1846 * bgp_route.c: "show ipv6 bgp" route display improvement.
1847
18482000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1849
1850 * bgp_route.c (neighbor_routes): Allocate sockunion for callback
1851 function.
1852 (bgp_show_neighbor_route): Remove static declaration for union
1853 sockunion.
1854
1855 * bgpd.c (peer_update_source_set): Clean previously allocated
1856 memory before allocate new one.
1857
18582000-10-03 Akihiro Mizutani <mizutani@dml.com>
1859
1860 * bgp_route.c (neighbor_routes): Add show neighbor's routes
1861 command.
1862 "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes"
1863 "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes"
1864 "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes"
1865 "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes"
1866
18672000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1868
1869 * zebra-0.89 is released.
1870
18712000-10-02 Akihiro Mizutani <mizutani@dml.com>
1872
1873 * bgpd.c: "bgp deterministic-med" command is added.
1874
18752000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1876
1877 * bgp_nexthop.c (bgp_connected_add): Apply mask for connected
1878 route addition and deletion.
1879
18802000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1881
1882 * bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment
1883 when comparing leftmost AS number.
1884
18852000-09-29 Akihiro Mizutani <mizutani@dml.com>
1886
1887 * bgpd.c (peer_route_reflector): Route reflector can be set for
1888 IBGP peer.
1889 (bgp_distribute_set): Fix bug of string check for (in|out).
1890 (bgp_show_summary): Display total neighbor count.
1891
18922000-09-28 Akihiro Mizutani <mizutani@dml.com>
1893
1894 * bgp_attr.c (bgp_packet_attribute): Only add cluster_list and
1895 originator for clinet to client routes.
1896 (bgp_packet_attribute): Add new cluster_list to the beginning of
1897 existing cluster_list.
1898 (bgp_packet_attribute): Fix bug of originator is rewritten even
1899 when originator is already set.
1900
19012000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1902
1903 * bgpd.c (bgp_client_to_client_reflection): Add new command.
1904 "no bgp client-to-client reflection"
1905 "bgp client-to-client reflection"
1906
1907 * bgpd.h (BGP_CONFIG_NO_CLIENT_TO_CLIENT): Add new definition.
1908
19092000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * bgp_packet.c (bgp_read): Make BGP packet read to non-blocking
1912 read.
1913 (bgp_read_packet): Likewise.
1914 (bgp_read_packet): When errono is EAGAIN, try to read it again.
1915
1916 * bgp_fsm.c (bgp_stop): Clear packet size and read buffer.
1917
19182000-09-26 Akihiro Mizutani <mizutani@dml.com>
1919
1920 * bgp_routemap.c: Configuration of prefix-list match is shown as
1921 "match ip address prefix-list <WORD>". Old configuration "match
1922 ip prefix-list <WORD>" is left for compatibilitty.
1923
19242000-09-25 Akihiro Mizutani <mizutani@dml.com>
1925
1926 * bgpd.h (BGP_CONFIG_MED_MISSING_AS_WORST): Changed from
1927 BGP_CONFIG_MISSING_AS_WORST.
1928
1929 * bgpd.c (bgp_bestpath_med): Change missing-as-worst syntax.
1930 Old "bgp bestpath missing-as-worst"
1931 New "bgp bestpath med missing-as-worst"
1932
19332000-09-24 Akihiro Mizutani <mizutani@dml.com>
1934
1935 * bgp_route.c: Compare MED properly in case of CONFED-IBGP.
1936
19372000-09-21 steve@Watt.COM (Steve Watt)
1938
1939 * bgp_debug.h: Do not declare debug variables conf_bgp_debug_* and
1940 term_bgp_debug_*.
1941
1942 * bgp_debug.c: Declare variables here.
1943
19442000-09-21 Akihiro Mizutani <mizutani@dml.com>
1945
1946 * bgpd.c: MBGP soft-reconfiguration command is added.
1947 clear ip bgp x.x.x.x ipv4 (unicast|multicast) in
1948 clear ip bgp x.x.x.x ipv4 (unicast|multicast) out
1949 clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft
1950 clear ip bgp <1-65535> ipv4 (unicast|multicast) in
1951 clear ip bgp <1-65535> ipv4 (unicast|multicast) out
1952 clear ip bgp <1-65535> ipv4 (unicast|multicast) soft
1953 clear ip bgp * ipv4 (unicast|multicast) in
1954 clear ip bgp * ipv4 (unicast|multicast) out
1955 clear ip bgp * ipv4 (unicast|multicast) soft
1956
1957 Change "clear ip bgp vpnv4 x.x.x.x soft" command to
1958 "clear ip bgp x.x.x.x vpnv4 unicast soft".
1959
1960 "bgp bestpath med confed" command is added.
1961
1962 * bgpd.h (BGP_CONFIG_MED_CONFED): Add New definition.
1963
19642000-09-18 Rick Payne <rickp@rossfell.co.uk>
1965
1966 * bgpd.c (bgp_show_peer): Fix misplaced #endif.
1967
19682000-09-12 Akihiro Mizutani <mizutani@dml.com>
1969
1970 * bgpd.c (bgp_default_local_preference): Add "bgp default
1971 local-preference" command.
1972
1973 * bgp_nexthop.c (no_bgp_scan_time): Add "no bgp scan-time"
1974 command.
1975
19762000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1977
1978 * bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes
1979 are passed to zebra like IBGP route.
1980
19812000-09-10 Akihiro Mizutani <mizutani@dml.com>
1982
1983 * bgpd.c (bgp_config_write_peer): Make it consistent passive
1984 configuration.
1985
1986 * bgp_route.c: Community match command is added.
1987 "show ip bgp community <val>"
1988 "show ip bgp community <val> exact-match"
1989
19902000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1991
1992 * bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are
1993 treated as IBGP routes.
1994
19952000-09-08 Akihiro Mizutani <mizutani@dml.com>
1996
1997 * bgp_route.c (bgp_show_route): When local-AS community route is
1998 selected, display "not advertised outside local AS" to "show ip
1999 route A.B.C.D" output.
2000 (show_ip_bgp_ipv4_filter_list): Add below four commands.
2001 "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
2002 "show ip bgp ipv4 (unicast|multicast) community"
2003 "show ip bgp ipv4 (unicast|multicast) community-list WORD"
2004 "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
2005
2006 * bgp_clist.c (community_list_match_exact): Community exact match
2007 function.
2008
20092000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2010
2011 * bgp_route.c (bgp_update): Add peer's ttl check.
2012
2013 * bgpd.h (struct peer): Structure member refresh is renamed to
2014 refresh_adv.
2015
2016 * bgpd.c (clear_bgp_soft_in): Check PEER_FLAG_ROUTE_REFRESH flag
2017 when soft reconfiguration is performed.
2018
2019 * bgp_zebra.c (bgp_zebra_announce): When the peer is EBGP and
2020 ebgp-multiphop is set, set ZEBRA_FLAG_INTERNAL for nexthop lookup.
2021
2022 * bgp_route.h (struct bgp_info_tag): Add valid flag.
2023
20242000-08-25 Akihiro Mizutani <mizutani@dml.com>
2025
2026 * bgpd.c: Add AS base BGP soft reconfiguration.
2027
2028 * bgp_route.c: When no-advertise or no-export route is selected,
2029 "show ip bgp" display "not advertised to EBGP peer" or "not
2030 advertised to any peer" message.
2031
20322000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2033
2034 * zebra-0.88 is released.
2035
2036 * bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump
2037 bgp route-mrt" to support MRT specific dump format.
2038
2039 * bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is
2040 added.
2041
2042 * bgp_route.c (bgp_update): Currently nexthop check is only works
2043 for IPv4.
2044
20452000-08-17 Akihiro Mizutani <mizutani@dml.com>
2046
2047 * bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for
2048 both inbound and outbound soft reconfiguration.
2049
20502000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2051
2052 * bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration
2053 outbound.
2054 (peer_new): Set route-refresh flag.
2055
20562000-08-16 Akihiro Mizutani <mizutani@dml.com>
2057
2058 * bgpd.c: "no bgp router-id A.B.C.D" alias is added. "no bgp
2059 cluster-id A.B.C.D" alias is added. " bgp cluster-id
2060 <1-4294967295>" alias is added. "clear ip bgp * soft in" command
2061 is added. "clear ip bgp A.B.C.D in" alias is added. "clear ip
2062 bgp * in" alias is added.
2063
20642000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2065
2066 * bgp_route.c (bgp_update): Add soft_reconfig flag. When the flag
2067 is set do not install the route into Adj-RIBs-In.
2068 (bgp_update): Perform implicit withdraw before filtering of the
2069 route.
2070
2071 * bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt
2072 capability code and BGP message can be accepted.
2073
2074 * bgp_open.c (bgp_capability_parse): Likewise.
2075
2076 * bgp_route.c (bgp_refresh_table): New function for route refresh.
2077 (bgp_refresh_rib): Likewise.
2078
2079 * bgpd.c (bgp_show_peer): Display route refresh status.
2080
2081 * bgp_route.c (bgp_aggregate_add): Add check for the route
2082 validness.
2083 (bgp_aggregate_delete): Likewise.
2084
20852000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2086
2087 * bgp_nexthop.c (bgp_scan): Care for aggregate route when the
2088 route become inaccessible.
2089
20902000-08-15 Akihiro Mizutani <mizutani@dml.com>
2091
2092 * bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M"
2093 command is added.
2094
20952000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2096
2097 * bgp_zebra.c (bgp_interface_up): Register connected route.
2098 (bgp_interface_down): Unregister connected route.
2099
21002000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2101
2102 * bgp_route.h (struct bgp_info): Add distance to the structure.
2103
2104 * bgp_route.c (bgp_aggregate_increment): Aggregate route only
2105 match to smaller prefixlen route not match same prefixlen route.
2106 (bgp_aggregate_decrement): Likewise.
2107 (bgp_aggregate_add): Likewise.
2108 (bgp_aggregate_delete): Likewise.
2109 (bgp_network_backdoor): Add backdoor network configuration.
2110
2111 * bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store
2112 configuration distance value.
2113
2114 * bgp_route.c (bgp_update): Filter EBGP route which has non
2115 connected nexthop.
2116
2117 * bgp_attr.c (bgp_attr_aggregate_intern): New function for
2118 aggregate route. Set origin to IGP. Set atomic aggregate flag.
2119 Set aggregator AS and address.
2120 (bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when
2121 filling aggregator_as.
2122
2123 * bgp_route.c (bgp_process): Delete suppress check for install
2124 suppressed route into local routing table.
2125 (bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead
2126 of bgp_attr_default_intern ().
2127 (bgp_aggregate_add): Likewise.
2128
2129 * bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is
2130 created. This is for avoid 0.0.0.0 router-id.
2131
21322000-08-13 Akihiro Mizutani <mizutani@dml.com>
2133
2134 * bgp_route.c (route_vty_out_detail): Display "valid" when the
2135 route is valied. Display "aggregated" when the route is
2136 aggregated. "Advertisements suppressed by an aggregate" is
2137 displayed when the route is suppressed.
2138 (bgp_info_cmp): Prefer EBGP than Confed-EBGP.
2139
21402000-08-10 Akihiro Mizutani <mizutani@dml.com>
2141
2142 * bgp_route.c (route_vty_out_detail): Display format change.
2143
21442000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2145
2146 * bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled.
2147
2148 * bgpd.c (bgp_delete): Delete static route before delete peer
2149 configuration.
2150
21512000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2152
2153 * bgpd.c: Include bgpd/bgp_nexthop.h.
2154
21552000-07-31 Akihiro Mizutani <mizutani@dml.com>
2156
2157 * bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP
2158 identifier. And status is changed like below.
2159
2160 State/Pref -> State/PfxRcd
2161 Shutdown -> Idle (Admin)
2162 PrefixOvflw -> Idle (PfxCt)
2163
2164 * bgp_route.c (route_vty_out): Show internal route as "i".
2165
21662000-07-13 Jim Bowen <jimb@zereau.net>
2167
2168 * bgp_snmp.c: Add BGP peer MIB implementation.
2169
21702000-07-12 Akihiro Mizutani <mizutani@dml.com>
2171
2172 * bgpd.c (bgp_show_peer): Fix typo.
2173
21742000-07-11 Akihiro Mizutani <mizutani@dml.com>
2175
2176 * bgp_routemap.c: Add commands for deleting set without argument.
2177
21782000-07-03 Akihiro Mizutani <mizutani@dml.com>
2179
2180 * bgp_zebra.c: Fix redistribute help strings.
2181
21822000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2183
2184 * bgp_route.c (bgp_show): When bgpd works as vtysh server send all
2185 output to vty at once.
2186
21872000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD
2190 tag WORD" command is added.
2191
2192 * bgp_ecommunity.c (ecommunity_vty_out): New function added.
2193
21942000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2195
2196 * bgp_route.c (bgp_show): Fix total number of prefix count bug.
2197
2198 * bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and
2199 negotiation result in "show ip bgp neighbors".
2200
22012000-06-12 Akihiro Mizutani <mizutani@dml.com>
2202
2203 * bgpd.c: Fix help strings.
2204
2205 * bgpd.h: Likewise.
2206
22072000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2208
2209 * bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info
2210 instead of rn. Reported by Akihiro Mizutani <mizutani@dml.com>.
2211
2212 * bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network
2213 A.B.C.D rd RD" is added to address-family vpnv4 unicast node.
2214
2215 * bgp_route.c (bgp_static_set): Set safi to p.safi.
2216
22172000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2218
2219 * bgp_route.c (bgp_show_prefix_list): Change to use bgp_show().
2220 (bgp_show_regexp): Change to use bgp_show().
2221 (show_adj_route): Change to display header.
2222
2223 * bgpd.c (clear_bgp): Set peer->v_start to default value when peer
2224 is cleared manually.
2225
2226 * bgp_route.c (bgp_show_route): New function which display
2227 specific BGP route. Divided from bgp_show().
2228 (bgp_static_delete): Delete all static route.
2229
22302000-06-09 NOGUCHI Kay <kay@v6.access.co.jp>
2231
2232 * bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with
2233 invalid privious fix. Now show_ipv6_bgp and show_ipv6_bgp_route
2234 take care of "show ipv6 bgp [X:X::X:X]". Same change for "show ip
2235 mbgp" and "show ipv6 mbgp".
2236
22372000-06-07 Akihiro Mizutani <mizutani@dml.com>
2238
2239 * bgp_route.c: Fix help strings and command arguments.
2240
22412000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2242
2243 * bgp_ecommunity.c: Include prefix.h
2244
22452000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2246
2247 * bgp_route.h (struct bgp_info_tag): New structure to hold tag
2248 value.
2249
2250 * bgp_route.c (bgp_adj_set): table NULL check is added.
2251 (bgp_adj_unset): Likewise.
2252 (bgp_adj_lookup): Likewise.
2253 (bgp_adj_clear): Likewise.
2254 (route_vty_out): Add SAFI check for nexthop display.
2255 (bgp_withdraw): Add SAFI check for withdraw route.
2256
2257 * Remove all #ifdef MPLS_VPN then include it as default.
2258
2259 * bgpd.c: Temporary disable peer-group command until the
2260 implementation is completed.
2261
2262 * bgp_routemap.c (bgp_route_map_init): Install
2263 route_metric_match_cmd.
2264 (route_match_metric_compile): MED value compile using strtoul.
2265
22662000-06-05 Akihiro Mizutani <mizutani@dml.com>
2267
2268 * bgp_filter.c: Fix help strings. Change REGEXP to LINE. Change
2269 NAME to WORD.
2270
2271 * Change command argument to more comprehensive.
2272
2273 METRIC -> <0-4294967295>
2274 WEIGHT -> <0-4294967295>
2275 LOCAL_PREF -> <0-4294967295>
2276 IP_ADDR -> A.B.C.D
2277 AS -> <1-65535>
2278 AS-PATH-NAME -> WORD
2279 ACCESS_LIST -> WORD
2280 PREFIX_LIST -> WORD
2281 COMMUNITY -> AA:NN
2282 EXT_COMMUNITY -> ASN:nn_or_IP-address:nn
2283 IPv6_ADDR -> X:X::X:X
2284
2285 * bgp_clist.c: Fix help strings.
2286
22872000-06-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * bgpd.c (peer_active): Add new function for check the peer is
2290 active or not.
2291 (neighbor_activate): New command "neighbor PEER activate" and "no
2292 neighbor PEER activate" are added.
2293
2294 * bgp_packet.c: Include bgpd/bgp_mplsvpn.h.
2295
22962000-06-02 Akihiro Mizutani <mizutani@dml.com>
2297
2298 * bgp_clist.c: Fix commuity-list help strings.
2299
2300 * bgp_routemap.c: Fix "set community" help strings. Add #define
2301 SET_STR. Use (unicast|multicast) argument for "set nlri" command.
2302
23032000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2304
2305 * bgp_routemap.c (route_set_community_none_cmd): "set community
2306 none" command is added to route-map.
2307
23082000-06-01 Akihiro Mizutani <mizutani@dml.com>
2309
2310 * bgp_debug.c: Change "show debug" to "show debugging". Now "show
2311 debugging" is not used in VIEW_NODE.
2312
23132000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2314
2315 * bgp_fsm.c (bgp_timer_set): Add check for shutdown flag. This
2316 fix unconditional BGP connection.
2317
2318 * bgpd.c (peer_shutdown): Replace peer_shutdown() with
2319 peer_change_flag_with_reset().
2320
23212000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2322
2323 * bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default
2324 ipv4-unicast" command.
2325
2326 * bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition.
2327
2328 * bgp_filter.c (as_list_delete): Free all AS filter.
2329
2330 * bgp_clist.c (community_list_delete): Free all community entry.
2331
2332 * bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path
2333 access-list NAME".
2334
2335 * bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip
2336 community-list NAME".
2337
23382000-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2339
2340 * bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER
2341 routes" to "show ip bgp PEER received-routes"
2342
23432000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2344
2345 * bgp_ecommunity.c (ecommunity_parse): New file for Extended
2346 Communities attribute.
2347 * bgp_ecommunity.h: Likewise.
2348
23492000-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2350
2351 * bgp_mplsvpn.h: New file for MPLS-VPN.
2352 * bgp_mplsvpn.c: Likewise.
2353
2354 * bgpd.c (bgp_delete): Fix bug of "no router bgp" crush.
2355
23562000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2357
2358 * bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath
2359 missing-as-worst".
2360
23612000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2362
2363 * bgp_routemap.c (match_community): Clarify help of "match
2364 community".
2365
23662000-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2367
2368 * bgp_aspath.c (aspath_cmp_left): Remove debug code.
2369
23702000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2371
2372 * bgp_route.c (bgp_info_cmp): Compare MED only both routes comes
2373 from same neighboring AS.
2374
2375 * bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value.
2376
2377 * bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl().
2378
23792000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2380
2381 * bgp_route.c (bgp_output_filter): When distribute-list's
2382 corresponding access-list does not exist, filter all routes.
2383 (bgp_input_filter): Likewise.
2384
23852000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2386
2387 * bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer.
2388
2389 * bgp_route.c (bgp_info_cmp): Add evaluation of local preference.
2390
23912000-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2392
2393 * bgpd.c (bgp_distribute_update): Add struct access_list *
2394 argument.
2395
23962000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2397
2398 * bgp_clist.c (community_list_dup_check): Add duplicate insertion
2399 check.
2400
2401 * bgp_filter.c (as_list_dup_check): Add duplicate insertion check.
2402
2403 * bgp_route.c (bgp_show): Fix undeclared write variable.
2404
24052000-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2406
2407 * bgp_routemap.c: Add "match ip address prefix-list".
2408
24092000-03-29 Rick Payne <rickp@rossfell.co.uk>
2410
2411 * bgp_aspath.c (aspath_strip_confed): Fix realloc problem.
2412
24132000-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2414
2415 * bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when
2416 the peer status is Connect.
2417
24182000-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2419
2420 * Fix bug of rewritten originator-id.
2421
24222000-01-27 Rick Payne <rickp@rossfell.co.uk>
2423
2424 * bgp_aspath.c (aspath_delimiter_char): New function. Instead of
2425 directly referencing array, search proper AS path delimiter.
2426 (aspath_strip_confed): Strip the confederation stuff from the
2427 front of an AS path.
2428 (aspath_add_left_confed): New function for adding specified AS to
2429 the leftmost AS_CONFED_SEQUENCE.
2430
2431 * bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value
2432 to Cisco compatible.
2433
2434 * bgpd.c (bgp_confederation_id_set): Confederation configuration.
2435 (bgp_confederation_id_unset): Likewise.
2436 (bgp_confederation_peers_check): Likewise.
2437 (bgp_confederation_peers_add): Likewise.
2438 (bgp_confederation_peers_remove): Likewise.
2439 (bgp_confederation_peers_set): Likewise.
2440 (bgp_confederation_peers_unset): Likewise.
2441 (bgp_confederation_peers_print): Likewise.
2442
24432000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2444
2445 * bgpd.c: Introduce peer_change_flag_with_reset() fucntion.
2446
24472000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2448
2449 * bgp_open.c (bgp_open_option_parse): When there is no common
2450 capability send Unsupported Capability error to the peer.
2451
24522000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about
2455 IPv6 unicast.
2456
2457 * bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command.
2458
24592000-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2460
2461 * bgpd.c (neighbor_strict_capability): Add
2462 "strict-capability-match" command.
2463
2464 * bgp_zebra.c (bgp_if_update): Ignore NET127 determining
2465 router-id.
2466
2467 * bgpd.c (peer_override_capability): Add "override-capability"
2468 command.
2469
24701999-12-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2471
2472 * bgp_packet.c (bgp_write): Change status to Idle and set timer
2473 after write failed.
2474
24751999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2476
2477 * bgp_zebra.c (bgp_zebra_announce): Add info->selected check.
2478
24791999-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2480
2481 * bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with
2482 nlri_parse().
2483
24841999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2485
2486 * bgp_fsm.h (BGP_EVENT_DELETE): Macro added.
2487
2488 * bgp_fsm.c (bgp_stop): Clear all event threads of the peer when
2489 the peer is cleared.
2490
2491 * bgp_zebra.c (bgp_nexthop_set): Clear interface index of
2492 link-local address. This is KAME specific problem.
2493
24941999-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2495
2496 * bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a
2497 while. We don't completely detect the link is shared or not at
2498 this moment.
2499
2500 * bgp_packet.c (bgp_notify_send): Make shortcut call of
2501 bgp_write() and bgp_stop().
2502
2503 * bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting
2504 global and link-local address.
2505
25061999-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2507
2508 * bgpd.c (no_neighbor_port): New command added.
2509 (peer_new): Set send_community.
2510
25111999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2512
2513 * bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary().
2514 (show_ip_mbgp_summary): Likewise.
2515 (show_ipv6_bgp_summary): Likewise.
2516 (show_ipv6_mbgp_summary): Add new command.
2517 (peer_free): Free peer->host.
2518 (peer_lookup_by_su): Delete function.
2519 (ipv6_bgp_neighbor): Changed to use peer_remote_as().
2520 (sockunion_vty_out): Function deleted.
2521 (vty_clear_bgp): Use afi instead of family.
2522 Delete old list bgp_list. Use struct newlist *bgplist.
2523 (peer_lookup_by_host): Function deleted.
2524
25251999-12-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2526
2527 * bgpd.h (struct peer_group): New structure added.
2528 (struct peer_conf): New structure added.
2529 (struct peer): Change all prefix_count to unsigned long.
2530
2531 * bgpd.c: Reconstruct all of VTY commands reflect internal
2532 structure change.
2533 Use bgplist instead of bgp_list.
2534 Use peerlist intstead of peer_list.
2535
2536 * bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop
2537 parsing then return immediately.
2538
2539 * bgp_route.c (nlri_parse): When NLRI parse error occured, return
2540 -1.
2541 (nlri_process): Use pcount_v4_{unicast,multicast}.
2542 (nlri_delete): Likewise.
2543
25441999-11-25 Robert Olsson <Robert.Olsson@data.slu.se>
2545
2546 * bgp_routemap.c (route_match_nlri): `match nlri
2547 unicast|multicast' and `set nlri unicast|multicast' command are
2548 added.
2549
25501999-11-22 Robert Olsson <Robert.Olsson@data.slu.se>
2551
2552 * bgpd.c: Add translate-update support.
2553
2554 * bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition.
2555
25561999-11-19 Robert.Olsson@data.slu.se
2557
2558 * bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes.
2559
25601999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2561
2562 * bgp_open.c (bgp_capability_mp): Temporary comment out
2563 SAFI_UNICAST_MULTICAST handling until we know the meanings.
2564
25651999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2566
2567 * bgp_btoa.c: New file added.
2568
25691999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2570
2571 * bgpd.h (struct peer): Add dont_capability flag.
2572 (struct peer): Add override_capability flag.
2573
2574 * bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER
2575 dont-capability-negotiation' added.
2576
25771999-11-12 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2578
2579 * bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses
2580 attribute from non-shared-network peers.
2581
25821999-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2583
2584 * bgp_snmp.c: New file added.
2585
2586 * BGP4-MIB.txt: Updated to the latest Internet-Draft
2587 draft-ietf-idr-bgp4-mib-04.txt.
2588
25891999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2590
2591 * bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'.
2592
2593 * bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with
2594 #ifdef HAVE_MBGPV4.
2595
25961999-11-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2597
2598 * bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no
2599 dump bgp commands.
2600 (config_write_bgp_dump): Write interval value to the
2601 configuration.
2602
26031999-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2604
2605 * bgp_zebra.c: Redistribute route-map support is added.
2606
2607 * bgp_zebra.h: New file added.
2608
26091999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2610
2611 * bgp_dump.c: BGP packet dump routine compatible with MRT.
2612 * bgp_dump.h: BGP packet dump routine compatible with MRT.
2613
2614 * bgp_debug.c: Renamed from bgp_dump.c
2615 * bgp_debug.h: Renamed from bgp_dump.h
2616
26171999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2618
2619 * BGP4-MIB.txt: New file added. Edited version of RFC1657.
2620
26211999-10-25 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2622
2623 * bgp_route.c (bgp_announce): If we're not on a shared network
2624 with the peer and we don't have a link-local next hop, but the
2625 inbound next-hop has a link-local address, don't readvertise it to
2626 our peer.
2627
26281999-10-25 Marc Boucher <marc@mbsi.ca>
2629
2630 * bgp_zebra.c: Add redistribute kernel command.
2631
26321999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2633
2634 * bgp_route.c (bgp_reset): New function added.
2635
2636 * bgpd.conf.sample2: Add IPv6 configuration sample.
2637
26381999-10-24 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2639
2640 * bgp_route.c (ipv6_aggregate_address): Function added.
2641
26421999-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2643
2644 * bgp_packet.c (bgp_update): Unintern aspath, community, cluster
2645 list after parsing BGP update packet.
2646
2647 * bgp_attr.c (bgp_attr_aspath): Intern parsed aspath.
2648 (bgp_attr_community): Intern parsed community.
2649 (bgp_attr_cluster_list): Intern parsed cluster list.
2650
2651 * bgp_routemap.c: Add `set community-additive' command.
2652
26531999-10-21 Alexandr D. Kanevskiy <kad@blackcatlinux.com>
2654
2655 * bgp_routemap.c (route_set_local_pref): Fix bug of setting
2656 attribute flag.
2657
26581999-10-21 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2659
2660 * bgp_route.c (bgp_announce): Add check of IPv6 default route
2661 announcement.
2662
2663 * bgp_packet.c (bgp_update_send): Add BGP announcement logging.
2664
26651999-10-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2666
2667 * `show ip[v6] bgp PREFIX' show uptime of the route.
2668
26691999-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2670
2671 * bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead
2672 of that use AF_INET and AF_INET6 directly.
2673 (vty_clear_bgp): Add new function to support various clear ip bgp
2674 method.
2675
26761999-10-04 Lars Fenneberg <lf@elemental.net>
2677
2678 * bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'.
2679
26801999-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2681
2682 * bgp_routemap.c: Add `match ip prefix-list' and `match ipv6
2683 prefix-list'.
2684
26851999-09-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * bgpd.c (bgp_collision_detect): Add BGP collision detection
2688 function.
2689
26901999-09-26 Blake Meike <bmeike@adero.com>
2691
2692 * bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is
2693 added.
2694
26951999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2696
2697 * bgpd.c (no_neighbor_timers_keepalive): Change MIN to min. Add
2698 min() macro.
2699
27001999-08-19 Rick Payne <rickp@rossfell.co.uk>
2701
2702 * bgp_packet.c (bgp_open): BGP holdtimer bug is fixed. Make BGP
2703 keepalive timer configurable.
2704
27051999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2706
2707 * bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug.
2708
27091999-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2710
2711 * bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list
2712 the peer not all of them.
2713
27141999-08-11 Rick Payne <rickp@rossfell.co.uk>
2715
2716 * bgp_route.c (bgp_announce): Remove MED if its an EBGP peer -
2717 will get overwritten by route-maps.
2718
27191999-08-08 Rick Payne <rickp@rossfell.co.uk>
2720
2721 * bgp_routemap.c: Multi protocol route-map modification.
2722
27231999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2724
2725 * bgp_route.c: Set network statement route's origin attribute as
2726 igp.
2727
2728 * bgp_zebra.c: Set redistribute route's origin attribute as
2729 incomplete.
2730
2731 * bgp_route.c (bgp_info_cmp): Add attribute existance check,
2732 origin attribute check, BGP peer type check.
2733
27341999-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2735
2736 * bgp_route.c (bgp_peer_delete): Reselect of IPv6 route.
2737
27381999-07-29 Rick Payne <rickp@rossfell.co.uk>
2739
2740 * Changed route-maps to behave in a more cisco-like fashion
2741
27421999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2743
2744 * bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed.
2745 When multiple route to the same destination exist, bgpd try to
2746 announce the information to stopped peer. Then add orphan write
2747 thread is added. This cause many strange behavior of bgpd.
2748 Reported by Georg Hitsch <georg@atnet.at>.
2749
27501999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2751
2752 * bgpd.c: Change peer's A.B.C.D to PEER.
2753
27541999-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2755
2756 * bgp_route.c (bgp_announce): Add hack for link-local nexthop.
2757
2758 * bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from
2759 local address.
2760
27611999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2762
2763 * bgp_packet.c (bgp_open): Holdtime fetch bug is fixed. Reported
2764 by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>.
2765
27661999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2767
2768 * bgp_fsm.c (fsm_holdtime): Don't close file descriptor in
2769 fsm_holdtime ().
2770
27711999-07-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2772
2773 * bgp_routemap.c: Add `set atomic-aggregate' command.
2774
27751999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2776
2777 * bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop"
2778 to "ip next-hop".
2779
27801999-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2781
2782 * bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp'
2783 added.
2784
27851999-07-01 Rick Payne <rickp@rossfell.co.uk>
2786
2787 * bgp_zebra.c (zebra_init): Install standard commands to
2788 ZEBRA_NODE.
2789
27901999-06-28 Rick Payne <rickp@rossfell.co.uk>
2791
2792 * bgpd.c (bgp_delete): bgp peer deletion bug is fixed.
2793
27941999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2795
2796 * bgpd.c: Add neighbor update-source command as ALIAS to
2797 neighbor_interface.
2798
27991999-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2800
2801 * bgp_attr.c (bgp_packet_attribute): Send community attribute when
2802 send_community flag is set.
2803
2804 * bgpd.h (struct peer): Add send_community flag.
2805
28061999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2807
2808 * bgpd.c (router_bgp): router bgp's argument changed from AS_NO to
2809 <1-65535>.
2810
28111999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2812
2813 * bgp_route.h (struct bgp_info): Add subtype for BGP route type.
2814
28151999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2816
2817 * bgp_community.c (community_merge): Function added.
2818
28191999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2820
2821 * bgp_clist.c: New file.
2822 * bgp_clist.h: New file.
2823
2824 * bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco
2825 compatibility.
2826 (COMMUNITY_NO_ADVERTISE): Fix typo.
2827
28281999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2829
2830 * bgp_routemap.c: Add `set weight WEIGHT' command.
2831
2832 * bgpd.c: Remove all_digit_check function. Instead of that use
2833 all_digit function in lib/prefix.c.
2834
2835 * bgp_routemap.c (bgp_route_map_init): Install
2836 no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd
2837 element to the RMAP_NODE.
2838
28391999-05-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2840
2841 * bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char
2842 inside aspath_make_str function.
2843 (aspath_prepend): New function is added for AS path prepend.
2844 (aspath_make_str_count): Renamed from aspath_make_str. AS path
2845 count is set to the structure.
2846 (aspath_merge): New function.
2847
28481999-05-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2849
2850 * bgp_zebra.c (redistribute_bgp): Add new DEFUN.
2851 (no_redistribute_bgp): Likewise.
2852 (router_zebra): Semantics changed. Now 'router zebra' is default
2853 behavior of bgpd.
2854
28551999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2856
2857 * bgp_routemap.c: Add some commands to bgp route-map.
2858 match ip next-hop: New command.
2859 match metric: New command.
2860 set metric: Doc fix.
2861 set local-preference: Add DEFUN.
2862
28631999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2864
2865 * bgp_main.c (signal_init): SIGTERM call sigint.
2866 (sigint): Loggging more better message.
2867
28681999-05-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2869
2870 * bgp_attr.c (bgp_packet_attribute): AS path attribute extended
2871 length bit check is added.
2872
28731999-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2874
2875 * bgp_routemap.c (bgp_route_map_init): Call route_map_install_set
2876 function with route_set_local_pref_cmd argument.
2877 (no_match_aspath): Function added.
2878 (route_set_metric): Set attribute flag bit.
2879
2880 * bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP
2881 packet.
2882
28831999-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2884
2885 * bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers
2886 holdtime' command is added.
2887
2888 * bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define.
2889
2890 * bgpd.c (bgp_prefix_list_set): New function added.
2891 (bgp_prefix_list_unset): Likewise.
2892 (bgp_prefix_list_update): Likewise.
2893 (show_ip_bgp_neighbors): prefix-list information display.
2894
28951999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2896
2897 * bgpd.c (bgp_delete): Function added for `no router bgp'.
2898
28991999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2900
2901 * bgp_dump.c (bgp_dump_attr): Add originator_id display.
2902
2903 * bgpd.c (bgp_router_id): Even when address is malformed set the
2904 value to configuration bug fixed.
2905 (no_bgp_router_id): New function.
2906 (no_bgp_cluster_id): New function.
2907
29081999-05-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2909
2910 * bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR.
2911
29121999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2913
2914 * bgp_route.c (bgp_announce): Add route reflector check.
2915
29161999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2917
2918 * bgpd.c (bgp_cluster_id): Add function for route reflector.
2919 (neighbor_route_reflector_client): Likewise.
2920 (no_neighbor_route_reflector_client): Likewise.
2921
2922 * bgpd.h (struct bgp ): Add cluster for route reflector.
2923
2924 * bgp_route.c (show_ip_bgp_prefix_list): New command is added.
2925
29261999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2927
2928 * Makefile.am (noinst_HEADERS): Add bgp_filter.h
2929
2930 * bgp_aspath.c (aspath_undup): Function deleted. aspath_free ()
2931 has same functionality.
2932
2933 * bgp_filter.h: New file.
2934
2935 * bgp_aspath.c (aspath_unintern): Rename aspath_free () to
2936 aspath_unintern ()
2937 (aspath_free): New function.
2938
29391999-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2940
2941 * bgp_aspath.c (aspath_aggregate): Function added.
2942
2943 * bgp_aspath.h (aspath_aggregate): Prototype added.
2944
2945 * bgp_aspath.c (aspath_empty_aspath): New argument
2946 gated_dont_eat_flag is added.
2947
29481999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2949
2950 * bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6.
2951
29521999-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2953
2954 * bgp_route.c (aggregate_address): Function added.
2955
2956 * bgp_zebra.c (zebra_read): Change log to zlog.
2957
29581999-04-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2959
2960 * Makefile.am (noninst_HEADERS): Added for make dist.
2961
29621999-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2963
2964 * aspath_regex.c: Removed from distribution.
2965
29661999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2967
2968 * bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment
2969 bug fixed.
2970
29711999-04-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2972
2973 * bgp_aspath.c (aspath_add_left): Fix empty aspath bug. Reported
2974 by kad@gibson.skif.net.
2975
2976 * bgp_regex.[ch]: New file added.
2977
2978
29791999-04-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2980
2981 * bgp_filter.c: New file added.
2982
29831999-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2984
2985 * bgp_aspath.c (aspath_empty_aspath): Change for peering with
2986 gated.
2987
29881999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2989
2990 * bgp_main.c (main): Default loggin method changed from syslog to
2991 stdout.
2992
29931999-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2994
2995 * bgp_route.c: Delete obsolete default attribute DEFUN.
2996
29971999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2998
2999 * bgp_attr.c: Make attribute structure put into attribute hash.
3000
30011999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3002
3003 * bgp_view.c : Delete file.
3004
30051999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3006
3007 * bgp_routemap.c (bgp_apply_route_map): Add prefix argument.
3008
3009 * bgp_route.h (struct bgp_info): Add bgp_info structre. I'll
3010 replace bgp_route with this.
3011
3012 * bgp_routemap.c (route_match_ip_address): Fix bug of passing non
3013 prefix value to access_list_apply().
3014
3015 * bgpd.conf.sample: Add route-map sample.
3016 Delete obsolete default-attr statements.
3017
3018 * bgp_packet.c: Use stream_fifo for packet queueing.
3019
30201999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3021
3022 * bgp_aspath.c (aspath_add_left): add non empty aspath treatment.
3023
3024 * bgp_main.c: include unistd.h for daemon().
3025
3026 * bgp_route.c (nlri_process): add IPv6 table lookup.
3027
3028 * bgp_attr.c (route_parse_ipv6): call nlri_process().
3029 (attr_make): Obsolete function attr_make deleted.
3030
30311999-02-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3032
3033 * bgp_aspath.c (aspath_add_left): change function name from
3034 aspath_add_leftmost_as().
3035
30361999-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3037
3038 * bgp_aspath.c: add aspath_add_leftmost_as ().
3039
30401999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3041
3042 * syslog support added
3043
30441999-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3045
3046 * bgpd.c: DEFUN (neighbor_nexthop): deleted.
3047 DEFUN (neighbor_distribute_list): added.
3048
30491999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3050
3051 * bgpd.h (struct peer ): header_buf and read_buf is removed.
3052
3053 * bgp_peer.[ch]: Deleted. Peer related functions are merged to
3054 bgpd.c
3055
3056 * bgp_network.c: New file.
3057 * bgp_network.h: New file.
3058
3059 * bgp_packet.h: New file.
3060
30611999-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3062
3063 * bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is
3064 buffered.
3065
30661999-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3067
3068 * bgp_packet.c: New file.
3069
30701998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3071
3072 * bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c.
3073
3074 * `show ip bgp' bug fixed.
3075 * aspath_log (): Remove argument logfp.
3076
30771998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3078
3079 * bgp_fsm.h: New file.
3080
30811998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3082
3083 * bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c
3084 bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c
3085 bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c,
3086 bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes.
3087
30881998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3089
3090 * bgpd.c (bgp_config_write): Delete vector v argument.
3091
30921998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3093
3094 * bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros.
3095
30961998-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3097
3098 * bgp_radix.[ch]: removed.
3099
31001998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
3101
3102 * bgp_main.c: ifdef HYDRANGEA -> ifdef KAME
3103
31041998-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3105
3106 * bgp_dump.c: delete nroute().
3107
31081998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3109
3110 * bgp_aspath.c: HAVE_CONFIG_H typo :-)
3111 * bgpd.h: Modify for compile on Solaris.
3112 * bgp_aspath.h: likewize
3113 * bgp_community.h: likewize
3114 * bgp_routemap.c: likewize
3115
31161998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3117
3118 * bgpd.h: Modify for compile on Solaris.
3119 * bgp_aspath.h: likewize
3120
31211998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3122
3123 * routemap.[ch]: move to ../lib directory.
3124
31251998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3126
3127 * routemap.c (route_map_apply): add function.
3128
31291998-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3130
3131 * routemap.h: add file.
3132
3133 * bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP}
3134
31351998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3136
3137 * Makefile.am: sysconfdir_DATA added.
3138
31391998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3140
3141 * bgp_dump.c: add `debug bgp fsm'
3142 add `no debug bgp fsm'
3143 add `show debug bgp'
3144 * bgp_open.c: File added.
3145
31461998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3147
3148 * .cvsignore: File added.
3149
31501998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3151
3152 * bgp_community.[ch]: File added.
3153
31541998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3155
3156 * bgpd now use lib/thread.[ch].
3157
31581998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3159
3160 * bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command.
3161
3162 * bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30.
3163
31641997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3165
3166 * bgp_vty.c: bgp_vty.c deleted.
3167
3168 * bgpd.c (config_write_neighbor): add ebgp-multihop command.
3169
31701997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3171
3172 * bgp_fsm.c: [-p bgp_port] and [-P vty_port] works
3173
31741997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3175
3176 * bgp_vty.c: new file.
3177
3178 * bgp_attr.c: add new logging system.
3179
31801997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3181
3182 * Change all inet_addr call into inet_aton.
3183
31841997-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3185
3186 * bgp_radix.c: change radix_peer_delete
3187
31881997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3189
3190 * bgp_aspath.c: move AS_TOKEN_??? definition from header to c source.
3191
31921997-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3193
3194 * bgp_dump.c (bgp_log_route): add dump_attr function
3195
31961997-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3197
3198 * bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{'
3199 * bgp_dump.c (bgp_log_route): change logfile format.
3200
32011997-08-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3202
3203 * bgp_open.c (bgp_open): move bgp_open function from bgpd.c
3204 * bgp_attr.c (community_str2com): add community value generation
3205 * bgp_attr.h: add SAFI definition for BGP-4+
3206
32071997-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3208
3209 * bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter
3210 * Makefile.in: add bgp_open.o, delete bgp_loop.o
3211 * bgp_open.c: newfile which manages BGP Open message
3212 * bgp_loop.c: this file is merged with bgp_fsm.c
3213 * bgp_radix.c (radix_add): radix_add() now return route_t instead
3214 of int
3215 (bgp_sim): now we can read update & withdraw from file
3216 * bgp_route.c: add route_free() call into route_parse etc.
3217
32181997-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3219
3220 * bgp_radix.c: Radix code is completely rewritten. It has better
3221 memory treatment than old one.
3222
32231997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3224
3225 * bgp_route.c: route_alloc for route struct allocation statistics.
3226 * bgpd.c (bgp_make_update): now we cann announce MED attribute.
3227 * bgp_aspath.c (aspath_print_all): change aspath_print_all output
3228 format.
3229
32301997-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3231
3232 * bgp_term.c (term_parse): add command : show asstat, show ashash
3233 * bgp_aspath.c: aspath_cmp bug fix
3234 (aspath_print_all): add aspath_print_all ();
3235 * bgp_peer.h: delete rlist element from struct peer.
3236
32371997-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3238
3239 * bgp_aspath.c: completely rewritten.
3240 * bgp_aspath.h: completely rewritten.
3241 add AsPath, AsSegment structure
3242 add AS_SET treatment
3243 change Hash codes
3244
32451997-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3246
3247 * bgp_attr.h: add Attribute flags defines
3248 * bgp_route.c: delete rlist related functions
3249 * bgp_aspath.c (as_origin): add as_origin function
3250 (aspath_print): move from bgp_dump.c and add support of AS_SET
3251 change Hash related function names.
3252
32531997-08-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3254
3255 * bgp_aspath.h: add next entry, delete rlist entry from struct aspath
3256
32571997-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3258
3259 * bgp_aspath.c (as_sort): add function as_sort
3260 * bgp_aspath.h: add IBGP, EBGP
3261