blob: 82a365c5b1b724d217651c759d1f4a542d88774d [file] [log] [blame]
Paul Jakma5304cb52006-03-30 14:01:14 +000012006-03-19 Paul Jakma <paul.jakma@sun.com>
2
3 * bgp_nexthop.h: Include if.h as a dependent header, for struct
4 connected.
5
Paul Jakmacbdfbaa2006-03-30 13:20:48 +000062006-03-12 Paul Jakma <paul.jakma@sun.com>
7
8 * bgp_attr.h: (struct attr) rearrange fields to avoid
9 wasted padding between them as much as possible.
10 (attr_count,attr_unknown_count) export new functions to
11 return number of counts of cached attributes.
12 * bgp_attr.c: (attr_count,attr_unknown_count) new functions to
13 return number of counts of cached attributes.
14 * bgp_route.h: (struct bgp_info) rearrange fields to avoid
15 wasted padding.
16 * bgp_table.h: (struct bgp_table) Add a count field, of number
17 of nodes in the table.
18 (struct bgp_node) rearrange fields to avoid
19 wasted padding between them, though I don't think there
20 was any in this case.
21 * bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count.
22 (bgp_table_count) new function to access the table count.
23
Paul Jakma3e0c78e2006-03-06 18:06:53 +0000242006-03-03 Paul Jakma <paul.jakma@sun.com>
25
26 * bgp_route.c: (bgp_clear_node_complete) Doh. When clearing
27 is complete we need to kick off FSM again.
28
Paul Jakma64e580a2006-02-21 01:09:01 +0000292006-02-21 Paul Jakma <paul.jakma@sun.com>
30
31 * bgpd.h: move the clear_node_queue to be peer specific.
32 Add a new peer status flag, PEER_STATUS_CLEARING.
33 * bgp_table.h: (struct bgp_table) Add fields to record afi,
34 safi of the table.
35 (bgp_table_init) Take afi and safi to create table for.
36 * bgp_table.c: (bgp_table_init) record the afi and safi.
37 * bgp_nexthop.c: Update all calls to bgp_table_init.
38 * bgp_vty.c: ditto.
39 * bgpd.c: ditto.
40 * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is
41 clearing.
42 * bgp_route.c: (general) Update all bgp_table_init calls.
43 (bgp_process_{rsclient,main}) clear_node is serialised
44 via PEER_STATUS_CLEARING and fsm now.
45 (struct bgp_clear_node_queue) can be removed. struct bgp_node
46 can be the queue item data directly, as struct peer can be
47 kept in the new wq global user data and afi/safi can be
48 retrieved via bgp_node -> bgp_table.
49 (bgp_clear_route_node) fix to get peer via wq->spec.data,
50 afi/safi via bgp_node->bgp_table.
51 (bgp_clear_node_queue_del) no more item data to delete, only
52 unlock the bgp_node.
53 (bgp_clear_node_complete) only need to unset CLEARING flag
54 and unlock struct peer.
55 (bgp_clear_node_queue_init) queue attaches to struct peer
56 now. record peer name as queue name.
57 (bgp_clear_route_table) If queue transitions to active,
58 serialise clearing by setting PEER_STATUS_CLEARING rather
59 than plugging process queue, and lock peer while queue
60 active.
61 Update to pass only bgp_node as per-queue-item specific data.
Paul Jakma6a419732006-02-21 01:14:13 +000062 * bgp_vty.c: (bgp_show_summary) Add a 'Clrng' sub-description
63 to state of peer while it's suppressed due to clearing.
Paul Jakma64e580a2006-02-21 01:09:01 +000064
Paul Jakmaaa94ca82006-02-18 10:49:04 +0000652006-02-18 Paul Jakma <paul.jakma@sun.com>
66
67 * bgp_routemap.c: (route_set_community) Quick, very hacky, fix
68 for the set-community leak, bug #89. True fix will be to
69 detangle the web of *_intern caching and provide saner object
70 caching for Quagga, future work.
Paul Jakma7c7fa1b2006-02-18 10:52:09 +000071 * bgp_route.c: (bgp_announce_check) trivial, move declaration
72 of two local variables into the only block where they are
73 used, to aid the reader.
Paul Jakmaaa94ca82006-02-18 10:49:04 +000074
paul902212c2006-02-05 17:51:19 +0000752006-02-05 Paul Jakma <paul.jakma@sun.com>
76
77 * bgp_route.h: Add BGP_INFO_COUNTED to track whether
78 prefix has been counted or not.
79 * bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
80 centralise inc/dec of prefix-count,
81 (bgp_rib_remove) Remove pcount decrement, use helper.
82 (bgp_rib_withdraw) ditto, additionally use previous function
83 too.
84 (bgp_update_main) Use pcount helpers.
85 (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
86 clearing.
paul3fff6ff2006-02-05 17:55:35 +000087 * bgp_aspath.c: (aspath_gettoken) fix gcc warning about
88 possible uninitialised usage.
paul902212c2006-02-05 17:51:19 +000089
paul306d8892006-02-02 17:50:19 +0000902006-02-02 Paul Jakma <paul.jakma@sun.com>
91
92 * bgp_route.c: (bgp_{clear_node,process}_queue_init) delay
93 field is removed from workqueue spec.
94
paule8e19462006-01-19 20:16:55 +0000952006-01-19 Paul Jakma <paul.jakma@sun.com>
96
97 * (general) various miscellaneous compiler warning fixes.
98 Remove redundant break statements from switch clauses
99 which return.
100 return from main, not exit, cause it annoys SOS.
101 Remove stray semi-colons which cause empty-statement
102 warnings.
103
pauld3092e72006-01-17 17:33:46 +00001042006-01-17 Paul Jakma <paul.jakma@sun.com>
105
106 * bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.
107 (zlookup_query_ipv6) ditto.
108 (bgp_import_check) ditto.
109
paul02335422006-01-16 11:13:27 +00001102006-01-16 Paul Jakma <paul.jakma@sun.com>
111
112 * bgp_aspath.c: (assegment_append_asns) XREALLOC can return
113 NULL theoretically, take care not to lose the allocated data.
114 (aspath_hash_alloc) aspath_dup already set the aspath
115 string - fix leak.
116 (aspath_parse) aspath_hash_alloc dupes the entire aspath,
117 including segments, but we forgot to free the temporary
118 assegment.
paul8fdc32a2006-01-16 12:01:29 +0000119 (aspath_snmp_pathseg) move the static stream pointer out to
120 file scope, so it can be freed.
121 (aspath_finish) new function, free aspath resources.
122 * bgp_aspath.h: (aspath_finish) export.
paul02335422006-01-16 11:13:27 +0000123
paul37c38302006-01-10 22:15:45 +00001242006-01-10 Juris Kalnins <juris@mt.lv>
125
126 * bgpd.h: (bgp_router_id_unset) ex-function, remove.
127
paulad727402005-11-23 02:47:02 +00001282005-11-23 Paul Jakma <paul.jakma@sun.com>
129
130 * bgp_aspath.c: (assegments_parse) should be static
131
1322005-11-23 Juergen Kammer <j.kammer@eurodata.de>
133
134 * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
135 where one or both paths are empty.
136
paul0fb58d52005-11-14 14:31:49 +00001372005-11-14 Paul Jakma <paul.jakma@sun.com>
138
139 * bgp_route.c: (bgp_process_rsclient) convert to new workqueue
140 specs and shut up gcc, which complains about cast from void
141 via function parameters, for some dumb reason. Do the cast
142 inside the function instead.
143 (bgp_process_main,bgp_processq_del) ditto.
144 (bgp_clear_route_node) ditto.
145 (bgp_clear_node_queue_del) ditto.
146
paul41200852005-11-03 12:52:18 +00001472005-11-03 Paul Jakma <paul.jakma@sun.com>
148
149 * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via
150 the struct bgp_damp_info, no need to guess by using
151 bgp_get_default().
152
ajsf52d13c2005-10-01 17:38:06 +00001532005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
154
155 * bgp_vty.c: (bgp_config_write_redistribute) Use new library function
156 zebra_route_string instead of a local hard-coded table.
157
jardin2d74db52005-10-01 00:07:50 +00001582005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
159
160 * bgp_packet.c: fix compilation when DEBUG is used.
161
paul1f8ae702005-09-09 23:49:49 +00001622005-09-10 Paul Jakma <paul.jakma@sun.com>
163
paulfe69a502005-09-10 16:55:02 +0000164 * Makefile.am: bgpd shouldn't list libgp's sources as its own.
165 Use LDADD.
166 * bgp_aspath.h:
167 (struct assegment) New struct, abstract representation of a
168 list of AS_PATH segments and the contained ASNs.
169 (struct aspath) Remove the raw-data related
170 fields, reference the abstract struct assegment instead.
171 Remove several other computed fields, it's just a
172 headache to maintain them and they're cheap to compute from
173 struct assegment.
174 (aspath_parse) parse a stream, not a pointer to raw data.
175 (aspath_count_{hops,confeds,size}) helpers to access
176 information formerly directly contained in struct aspath.
177 (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants
178 to be able to output hex representation of raw data.
179 * bgp_aspath.c: (general) partial-rewrite. Store aspath data
180 as an abstract singly-linked list of abstract segments,
181 rather than storing the raw data, and parsing it each and
182 every time. Remove several count/size fields which are cheap
183 to compute from the abstract segment structure.
184 (global) Include stream.h, needed for aspath_parse, and
185 others. Couple of helper macros added.
186 (struct assegment_header) Just the header, and only the
187 header.
188 (assegment_data_{new,free}) convenience functions for
189 AS_SEG_DATA allocation, the dynamic, per-segment array of
190 ASNs.
191 (assegment_{new,free,free_all,dup,dup_all}) convenience
192 functions for creating struct assegments. The _all forms will
193 follow the entire chain of segments from the given segment.
194 (assegment_prepend_asns) new function, prepend an ASN N times
195 to segment.
196 (assegment_append_asns) Append a list (array) of ASNs to
197 segment.
198 (int_cmp) convenience function for the aspath hash.
199 (assegment_normalise) new function. Normalise the given
200 segment chain to meet expectations of Quagga, and to
201 eliminate differing raw representations of the same paths.
202 Merge 'runs' of SEQUENCEs into one segment as our internal
203 segment is not limited by the protocol AS_PATH segment
204 length. Sort ASNs in SETs.
205 (aspath_new) Take void argument to quell warnings. Use the
206 assegment convenience functions.
207 (assegment_count_{asns,confeds,hops}) new functions to
208 compute at runtime values previously held in struct aspath.
209 (aspath_size) ditto.
210 (aspath_make_str_count) rewritten to stringify new
211 representation, and to be slightly easier to understand
212 hopefully.
213 (aspath_str_update) convenience function, update the aspath
214 str. Should investigate removing maintained string from
215 struct aspath, just run-time compute it, as per other fields.
216 It's just a maintenance headache, would save noticeable
217 amount of RAM with possibly not much extra run-time cost.
218 (aspath_dup) use the assegment dup functions.
219 (aspath_hash_alloc) Take void * argument to satisfy gcc. Use
220 the proper helper functions to dup data.
221 (assegments_parse) new function. parse raw AS_PATH data into
222 struct assegments. Normalise and return the head of the list.
223 (aspath_parse) Parse a stream, not pointer to raw data and
224 use assegments_parse to do it.
225 (assegment_data_put) Write out a single segment data in protocol
226 form to stream.
227 (assegment_header_put) ditto but for segment header.
228 (aspath_put) new function. As per previous but for an entire
229 struct aspath.
230 (aspath_snmp_pathseg) wrapper around aspath_put for
231 bgp_snmp.c. Uses a static buffer sadly.
232 (aspath_aggregate_as_set_add) rewritten to use assegments.
233 (aspath_aggregate) ditto
234 (aspath_{firstas,loop,private_as}_check) ditto
235 (aspath_{merge,prepend,add_one_as}) ditto
236 (aspath_cmp_left{_confed}) ditto
237 (aspath_delete_confed_seq) ditto, plus fixed to properly
238 delete all leading confed segments.
239 (aspath_as_add) Just use assegment_append_asns.
240 (aspath_segment_add) updated to use assegments.
241 (enum as_token) Add values for confeds
242 (aspath_gettoken) Add support for confeds
243 (aspath_str2aspath) ditto
244 (aspath_key_make) updated to use as_segments. Also, add
245 segment type into the hash value as appropriate.
246 (aspath_cmp) updated to use as_segments.
247 (aspath_print) don't segfault on NULL argument.
248 * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream
249 now. No need for manual forwarding of stream.
250 (bgp_packet_attribute) empty aspath is now denoted by NULL
251 segment field, length is gone.
252 Use aspath_size() to determine size.
253 (bgp_attr_init) Fix declaration, explicitely specify void
254 arg.
255 (bgp_dump_routes_attr) Use aspath_size() to determine size.
256 * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions.
257 (bgp_rib_withdraw) remove unused variable. Use
258 aspath_count_hops.
259 * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use
260 aspath_snmp_pathseg to get the representation.
261
2622005-09-10 Paul Jakma <paul.jakma@sun.com>
263
paul1f8ae702005-09-09 23:49:49 +0000264 * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static
265 function declarations shouldn't be inside functions.
266 * bgp_dump.c: (bgp_dump_interval_add) ditto.
267
hassob7395792005-08-26 12:58:38 +00002682005-08-26 Hasso Tepper <hasso at quagga.net>
269
270 * bgp_route.c: Third (?) attempt to fix best selection breakage
271 introduced long time ago with route server patch. Hopefully
272 it's last case to fix - route-server client not in peer group.
273
paul25ffbdc2005-08-22 22:42:08 +00002742005-08-22 Hugo Santos <hsantos@av.it.pt>
275
276 * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
277 commands and BGP_IPV6M_NODE.
278
paulb40d9392005-08-22 22:34:41 +00002792005-08-22 Paul Jakma <paul.jakma@sun.com>
280
281 * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED.
282 BGP_INFO_VALID is already overloaded, don't care to do same thing
283 to STALE or HISTORY.
284 * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a
285 route which should generally be ignored.
286 * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather
287 than doing actual work, so that bgp_process (called directly,
288 or indirectly via the scanner) can catch withdrawn routes.
289 (bgp_info_reap) Actually remove the route, what bgp_info_delete
290 used to do, only for use by bgp_process.
291 (bgp_best_selection) reap any REMOVED routes, other than the old
292 selected route.
293 (bgp_process_rsclient) reap the old-selected route, if appropriate
294 (bgp_process_main) ditto
295 (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with
296 each other. Don't play games with the VALID flag, bgp_process
297 is async now, so it didn't make a difference anyway.
298 Remove the 'force' argument from bgp_rib_withdraw, withdraw+force
299 is equivalent to bgp_rib_remove. Update all its callers.
300 (bgp_update_rsclient) bgp_rib_withdraw and force set is same as
301 bgp_rib_remove.
302 (route_vty_short_status_out) new helper to print the leading
303 route-status string used in many command outputs. Consolidate.
304 (route_vty_out, route_vty_out_tag, damp_route_vty_out,
305 flap_route_vty_out) use route_vty_short_status_out rather than
306 duplicate.
307 (route_vty_out_detail) print state of REMOVED flag.
308 (BGP_SHOW_SCODE_HEADER) update for Removed flag.
309
hassoe279c7a2005-08-03 17:23:20 +00003102005-08-03 Hasso Tepper <hasso at quagga.net>
311
312 * bgp_routemap.c: Revert part of leaking communities fix commited in
313 2005-05-27. While ecommunity fix seems to be correct, community case
314 isn't.
315
paul94f2b392005-06-28 12:44:16 +00003162005-06-28 Paul Jakma <paul.jakma@sun.com>
317
318 * (global) The great bgpd extern and static'ification.
319 * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code
320 (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison
321 warnings.
322 * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these
323 used by various files which had their own private declarations,
324 in the case of mplsvpn - incorrect.
325
paule210cf92005-06-15 19:15:35 +00003262005-06-15 Paul Jakma <paul.jakma@sun.com>
327
328 * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
329 possible to terminate bgpd before workqueues were setup, causing
330 an abort/crash. Reported by Ashish Mehta of Sun.
331
paul200df112005-06-01 11:17:05 +00003322005-06-01 Paul Jakma <paul.jakma@sun.com>
333
334 * (general) refcount struct peer and bgp_info, hence allowing us
335 add work_queues for bgp_process.
336 * bgp_route.h: (struct bgp_info) Add 'lock' field for refcount.
337 Add bgp_info_{lock,unlock} helper functions.
338 Add bgp_info_{add,delete} helpers, to remove need for
339 users managing locking/freeing of bgp_info and bgp_node's.
340 * bgp_table.h: (struct bgp_node) Add a flags field, and
341 BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of
342 nodes.
343 * bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock
344 peer reference as appropriate.
345 * bgp_damp.c: Remove its internal prototypes for
346 bgp_info_delete/free. Just use bgp_info_delete.
347 * bgpd.h: (struct bgp_master) Add work_queue pointers.
348 (struct peer) Add reference count 'lock'
349 (peer_lock,peer_unlock) New helpers to take/release reference
350 on struct peer.
351 * bgp_advertise.c: (general) Add peer and bgp_info refcounting
352 and balance how references are taken and released.
353 (bgp_advertise_free) release bgp_info reference, if appropriate
354 (bgp_adj_out_free) unlock peer
355 (bgp_advertise_clean) leave the adv references alone, or else
356 call bgp_advertise_free cant unlock them.
357 (bgp_adj_out_set) lock the peer on new adj's, leave the reference
358 alone otherwise. lock the new bgp_info reference.
359 (bgp_adj_in_set) lock the peer reference
360 (bgp_adj_in_remove) and unlock it here
361 (bgp_sync_delete) make hash_free on peer conditional, just in
362 case.
363 * bgp_fsm.c: (general) document that the timers depend on
364 bgp_event to release a peer reference.
365 (bgp_fsm_change_status) moved up the file, unchanged.
366 (bgp_stop) Decrement peer lock as many times as cancel_event
367 canceled - shouldnt be needed but just in case.
368 stream_fifo_clean of obuf made conditional, just in case.
369 (bgp_event) always unlock the peer, regardless of return value
370 of bgp_fsm_change_status.
371 * bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's.
372 (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs
373 along with a comment on it.
374 * bgp_route.c: (general) Add refcounting of bgp_info, cleanup
375 some of the resource management around bgp_info. Refcount peer.
376 Add workqueues for bgp_process and clear_table.
377 (bgp_info_new) make static
378 (bgp_info_free) Ditto, and unlock the peer reference.
379 (bgp_info_lock,bgp_info_unlock) new exported functions
380 (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion,
381 taking care of reference counts.
382 (bgp_info_delete) do the opposite of bgp_info_add.
383 (bgp_process_rsclient) Converted into a work_queue work function.
384 (bgp_process_main) ditto.
385 (bgp_processq_del) process work queue item deconstructor
386 (bgp_process_queue_init) process work queue init
387 (bgp_process) call init function if required, set up queue item
388 and add to queue, rather than calling process functions directly.
389 (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts
390 (bgp_rib_withdraw) ditto
391 (bgp_update_rsclient) let bgp_info_add manage refcounts
392 (bgp_update_main) ditto
393 (bgp_clear_route_node) clear_node_queue work function, does
394 per-node aspects of what bgp_clear_route_table did previously
395 (bgp_clear_node_queue_del) clear_node_queue item delete function
396 (bgp_clear_node_complete) clear_node_queue completion function,
397 it unplugs the process queues, which have to be blocked while
398 clear_node_queue is being processed to prevent a race.
399 (bgp_clear_node_queue_init) init function for clear_node_queue
400 work queues
401 (bgp_clear_route_table) Sets up items onto a workqueue now, rather
402 than clearing each node directly. Plugs both process queues to
403 avoid potential race.
404 (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage
405 bgp_info refcounts.
406 (bgp_static_update_rsclient) ditto
407 (bgp_static_update_main) ditto
408 (bgp_static_update_vpnv4) ditto, remove unneeded cast.
409 (bgp_static_withdraw) see bgp_static_withdraw_rsclient
410 (bgp_static_withdraw_vpnv4) ditto
411 (bgp_aggregate_{route,add,delete}) ditto
412 (bgp_redistribute_{add,delete,withdraw}) ditto
413 * bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer
414 reference
415 (peer_rsclient_unset_vty) ditto, but unlock same reference
416 * bgpd.c: (peer_free) handle frees of info to be kept for lifetime
417 of struct peer.
418 (peer_lock,peer_unlock) peer refcount helpers
419 (peer_new) add initial refcounts
420 (peer_create,peer_create_accept) lock peer as appropriate
421 (peer_delete) unlock as appropriate, move out some free's to
422 peer_free.
423 (peer_group_bind,peer_group_unbind) peer refcounting as
424 appropriate.
425 (bgp_create) check CALLOC return value.
426 (bgp_terminate) free workqueues too.
427
hasso033e8612005-05-28 04:50:54 +00004282005-05-28 Hasso Tepper <hasso at quagga.net>
429
430 * bgp_routemap.c: Sync set_metric_addsub_cmd with ripd.
431
hasso54a6ed32005-05-26 22:12:33 +00004322005-05-27 Hasso Tepper <hasso at quagga.net>
433
hasso70601e02005-05-27 03:26:57 +0000434 * bgp_routemap.c: Stop leaking communities.
435
4362005-05-27 Hasso Tepper <hasso at quagga.net>
437
hasso54a6ed32005-05-26 22:12:33 +0000438 * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
439 deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
440 lists.
441
4422005-05-26 Hasso Tepper <hasso at quagga.net>
hassob6b7cff2005-05-26 08:29:07 +0000443
444 * bgpd.c: Don't crash while deleting list of peer-groups.
445
hassob5f29602005-05-25 21:00:28 +00004462005-05-25 Hasso Tepper <hasso at quagga.net>
447
448 * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
449 neighbor x.x.x.x routemap [export|import] commands work again.
450
paula94feb32005-05-23 13:17:29 +00004512005-05-23 Paul Jakma <paul@dishone.st>
452
453 * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change
paul00d252c2005-05-23 14:19:54 +0000454 * bgp_fsm.h: Add extern qualifier to exported functions
455 * bgp_nexthop.c: add static to nexthop specific globals
456 * *.h: Add guard defines
paula94feb32005-05-23 13:17:29 +0000457
paul22db9de2005-05-19 01:50:11 +00004582005-05-19 Paul Jakma <paul@dishone.st>
459
460 * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
461 * bgp_network.c: (bgp_getsockname) ditto
paule83e2082005-05-19 02:12:25 +0000462 (bgp_accept) use XSTRDUP
paul22db9de2005-05-19 01:50:11 +0000463 * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
464 remove one sockunion_free.
paule83e2082005-05-19 02:12:25 +0000465 * bgpd.c: (peer_delete) ditto.
466 XFREE the correct memtype, not free.
467 (peer_create) use XSTRDUP
468 * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
469 (various) update -> s/bgp_stream_dup/stream_dup
470
paul22db9de2005-05-19 01:50:11 +0000471
ajs634f9ea2005-04-11 15:51:40 +00004722005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
473
474 * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
475 The 2nd arg to zebra_redistribute_send is now zclient instead of
476 zclient->sock.
477
hassoa8a80d52005-04-09 13:07:47 +00004782005-04-09 Akihiro Mizutani <mizutani@net-chef.net>
479
480 * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
481 family node.
482
hasso68118452005-04-08 15:40:36 +00004832005-04-08 Martin Ling <martin-quagga@earth.li>
484
485 * bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
486 the length of confederation path segments to be included during the
487 as-path length check in the best path decision.
488
ajsd2fc8892005-04-02 18:38:43 +00004892005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
490
491 * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
492 to IFINDEX_INTERNAL.
493
hasso6cf159b2005-03-21 10:28:14 +00004942005-03-21 Hasso Tepper <hasso at quagga.net>
495
496 * bgp_route.c: Don't crash while clearing route tables if there is
497 no particular afi/safi configured.
498
hasso338b3422005-02-23 14:27:24 +00004992005-02-23 Hasso Tepper <hasso at quagga.net>
500
501 * bgp_route.c: Make reannouncing prefixes with changed attributes
502 work again.
503
hasso6ffd2072005-02-02 14:50:11 +00005042005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
505
hassodd4c5932005-02-02 17:15:34 +0000506 * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
507 transparent-nexthop" commands.
508
5092005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
510
hassoc1643bb2005-02-02 16:43:17 +0000511 * bgp_routemap.c: New route-map command - "match ip route-source".
512
5132005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
514
hassofee6e4e2005-02-02 16:29:31 +0000515 * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
516 community-list cleanup.
517
5182005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
519
hasso6ffd2072005-02-02 14:50:11 +0000520 * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
521 -> "disable-connected-check".
522
5232005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
hasso93406d82005-02-02 14:40:33 +0000524
525 * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
526 bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
527 graceful-restart" commands added. Show numbers of individual
528 messages in "show ip bgp neighbor" command. Final pieces of graceful
529 restart.
530
hassof4184462005-02-01 20:13:16 +00005312005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
532
hassoc9502432005-02-01 22:01:48 +0000533 * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
534 capability route-refresh" commands. Route refresh capability is sent
535 anyway now. Preserve dummy deprecated commands.
536
5372005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
538
hasso3d515fd2005-02-01 21:30:04 +0000539 * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
540 draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
541 version" command as deprecated.
542
5432005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
544
hasso0a486e52005-02-01 20:57:17 +0000545 * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
546 maximum-prefix limit" feature support.
547
5482005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
549
hassof4184462005-02-01 20:13:16 +0000550 * bgp_nexthop.c: Improve debug.
551 * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
552 function.
553 * bgp_packet.c: MP AFI_IP update and withdraw parsing.
554 * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
555 is better place to log about peer status change than bgp_event().
556 Log in bgp_connect_success().
557 * bgp_vty.c: Fix typo in comment.
558 * bgp_attr.c: Better log about unknown attribute.
559
ajs3b8b1852005-01-29 18:19:13 +00005602005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
561
562 * bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
563 of buffer_getstr.
564 * bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
565 returned by buffer_getstr.
566 (bgp_show_community) Must use XFREE instead of free on string
567 returned by buffer_getstr.
568 * bgp_routemap.c: (set_community) Must use XFREE instead of free
569 on string returned by buffer_getstr.
570 * bgp_vty.c: (neighbor_description) Use argv_concat instead of
571 buffer_getstr.
572
hasso6d694292005-01-24 09:29:42 +00005732005-01-24 Hasso Tepper <hasso at quagga.net>
574
575 * bgp_route.c: Fix showstopper bug. New route must be selected also
576 if old one is flaged as BGP_INFO_ATTR_CHANGED.
577
hassof1271652005-01-17 11:04:32 +00005782005-01-17 Hasso Tepper <hasso at quagga.net>
579
580 * bgp_route.c: Clear peer's routing table regardless whether it's
581 configured or not. Being not configured is even better reason to
582 do it.
583
paula24a7e12005-01-05 08:14:13 +00005842005-01-05 Paul Jakma <paul@dishone.st>
585
586 * bgp_packet.c: (bgp_write) set socket to nonblock while writing
587 this should be generalised. See bugzilla #102. Fix supplied by
588 wawa@yandex-team.ru (Vladimir Ivanov).
589
ajsd2c1f162004-12-08 21:10:20 +00005902004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
591
592 * *.c: Change level of debug messages to LOG_DEBUG.
593
ajs274a4a42004-12-07 15:39:31 +00005942004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
595
596 * bgp_main.c: (main) The 2nd argument to openzlog has been removed.
597
ajs887c44a2004-12-03 16:36:46 +00005982004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
599
600 * bgp_main.c: (sigint) Use zlog_notice for termination message.
601 (main) Use zlog_notice for startup announcement.
602
hassoc0652302004-11-25 19:33:48 +00006032004-11-25 Hasso Tepper <hasso at quagga.net>
604
605 * bgp_main.c: Make group to run as configurable.
606
paul59320202004-11-09 01:54:03 +00006072004-11-09 Paul Jakma <paul@dishone.st>
608
609 * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX
610 and cache{1,2}.. into arrays of tables and hence collapse
611 bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though
612 a long time ago (and this change was hand-merged).
613
ajs5a646652004-11-05 01:25:55 +00006142004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
615
616 * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
617 is deprecated because the output did not represent a single point
618 in time. All output needs to be generated inline and buffered
619 by the library code.
620 (route_vty_out,route_vty_out_tag,damp_route_vty_out,
621 flap_route_vty_out) Remove code to count number of lines of output,
622 since this was only useful for VTY_CONTINUE behavior.
623 (bgp_show_callback,vty_calc_line) Removed.
624 (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
625 As a result, there's a new output_arg argument to this function.
626 Make function static.
627 (bgp_show) Make function static and add a new output_arg argument.
628 Change all functions that call bgp_show or bgp_show_table to
629 pass the new output_arg argument (that used to be passed inside
630 vty->output_arg).
631 * bgp_mplsvpn.c: Remove declarations of functions defined in
632 bgp_route.c; these declarations belong in bgp_route.h.
633 * bgp_route.h: Declare 3 global functions used in both bgp_route.c
634 and in bgp_mplsvpn.c.
635
paula2b1ecd2004-10-31 18:58:09 +00006362004-10-31 Paul Jakma <paul@dishone.st>
637
638 * {bgpd,bgp_attr}.c: size_t printf format should be ld.
639
paul98f51632004-10-25 14:19:15 +00006402004-10-25 Paul Jakma <paul@dishone.st>
641
642 * Update with fix in debian bug id 222930.
643 * bgp_main.c: Add ZCAP_RAW, needed to bind to interfaces.
644 bgp_network.c: (....) raise/lower privs around call to
645 SO_BINDTODEVICE sockopt.
646
hasso3fb9cd62004-10-19 19:44:43 +00006472004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
648
649 * bgp_nexthop.c: (bgp_connected_add) Connected destination pointer
650 may be NULL.
651 (bgp_connected_delete) ditto.
652
hasso501ba492004-10-13 21:32:46 +00006532004-10-14 Hasso Tepper <hasso at quagga.net>
654
655 * bgp_dump.c: Make dump configuration appear in vtysh.
656
hassoc75105a2004-10-13 10:33:26 +00006572004-10-13 Hasso Tepper <hasso at quagga.net>
658
659 * bgp_snmp.c: Remove defaults used to initialize smux connection to
660 snmpd. Connection is initialized only if smux peer is configured.
hasso8b3126b2004-10-13 20:59:04 +0000661 * bgp_view.c: It's dead file. Reomved.
hassoc75105a2004-10-13 10:33:26 +0000662
paulfd79ac92004-10-13 05:06:08 +00006632004-10-13 Paul Jakma <paul@dishone.st>
664
665 * (global) more const'ification and fixups of types to clean up code.
666 * bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect,
667 should use something like the VTY_GET_INTEGER macro, but without
668 the vty_out bits..
669 * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE
670 (no_set_aggregator_as) ditto.
671 * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is
672 returned, add comments about troublesome return value.
673
hasso18a6dce2004-10-03 18:18:34 +00006742004-10-03 James R. Leu <jleu at mindspring.com>
675
676 * bgp_vty.c: Router id from zebra can be manually overriden.
677 * bgp_zebra.c: Read router id related messages from zebra daemon.
678 Remove own code related with router id selection.
679 * bgpd.c, bgpd.h: Remove own router id selection code. Use the one
680 from zebra daemon if it isn't manually overriden.
681
hassoc9e52be2004-09-26 16:09:34 +00006822004-09-26 Hasso Tepper <hasso at quagga.net>
683
684 * bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings.
685
hasso52dc7ee2004-09-23 19:18:23 +00006862004-09-23 Hasso Tepper <hasso at quagga.net>
687
688 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
689
paule01f9cb2004-07-09 17:48:53 +00006902004-07-09 Paul Jakma <paul@dishone.st>
691
692 * Merge of GNU Zebra cvs2svn changesets r799, r800 and r807.
693 * bgp_dump.c: (bgp_dump_attr) cleanup. return status code. check
694 attributes present before printing.
695 * bgp_dump.c: update bgp_dump_attr prototype.
696 * bgp_packet.c: (bgp_update_receive) init attrstr. check status
697 of bgp_dump_attr. Log end-of-rib UPDATEs.
698
paulf5ba3872004-07-09 12:11:31 +00006992004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
700
701 * bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
702 if that is connection we're closing.
703 (bgp_read) invalid marker check applies to KEEPALIVE too.
704 * bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
705
paul5228ad22004-06-04 17:58:18 +00007062004-06-04 Paul Jakma <paul@dishone.st>
707
708 * type mismatch fixes
709
hasso538621f2004-05-21 09:31:30 +00007102004-05-21 Akihiro Mizutani <mizutani@net-chef.net>
711
712 * bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c:
713 Graceful restart capability display.
714
hasso3950fda2004-05-20 10:22:49 +00007152005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
716
717 * bgp_debug.c: Cosmetical fixes and log neighbor changes.
718
hasso4372df72004-05-20 10:20:02 +00007192004-05-20 Akihiro Mizutani <mizutani@net-chef.net>
720
721 * bgp_ecommunity.c: Transit ecommunity support.
722 * bgp_ecommunity.c: Fix for unknown community crush.
723
hassoe0701b72004-05-20 09:19:34 +00007242005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
725
726 * *: Maximum prefix threshold support.
727 * *: Reset notification fixups.
728
paul0a589352004-05-08 11:48:26 +00007292004-05-08 Paul Jakma <paul@dishone.st>
730
731 * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes
732 (bgp_interface_address_delete) ditto.
733 (bgp_zebra_announce) ditto.
734 (bgp_zebra_withdraw) ditto.
735
paulc5317402004-05-03 13:25:06 +00007362004-05-03 Daniel Roesen <dr@cluenet.de>
737
738 * bgp_fsm.c: (bgp_stop) Reset uptime only on transition from
739 Established so that it reflects true downtime (rather time
740 since last transition, eg Active->Idle)
741
paul35be31b2004-05-01 18:17:04 +00007422004-05-01 rivo nurges <rix@estpak.ee>
743
744 * bgp_route.c: fix UNH IOL BGP-4.1.12f
745
pauleb821182004-05-01 08:44:08 +00007462004-05-01 Paul Jakma <paul@dishone.st>
747
748 * Revert the attempted clean-up of the dummy peer hack, reverts
749 patchsets 435 (see 2004-02-17 below) and 456.
750
paul545acaf2004-04-20 15:13:15 +00007512004-04-16 rivo nurges <rix@estpak.ee>
752
hasso9b87e412004-04-20 16:54:49 +0000753 * bgpd.h, bgp_debug.c: update cease subcodes to
754 draft-ietf-idr-cease-subcode-05
paul545acaf2004-04-20 15:13:15 +0000755 * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a
756
paul6ad23f02004-02-17 19:45:10 +00007572004-02-17 Paul Jakma <paul@dishone.st>
758
759 * bgpd.h: (bgp_peer) add fd_local and fd_accept
760 file descriptor's, fd becomes a pointer to one of these.
761 * bgpd.c: (global) adjust for fact that fd is now a pointer.
762 (peer_create_accept) removed.
763 * bgp_route.c: (global) adjust for change of peer fd to pointer
764 * bgp_packet.c: (bgp_collision_detect) adjust and remove the
765 "replace with other peer" hack.
766 * bgp_network.c: (bgp_accept) Remove the dummy peer hack.
767 Update peer->fd_accept instead.
768 (global) Adjust fd references - now a pointer.
769 * bgp_fsm.c: (global) adjust peer fd to pointer.
770 (bgp_connection_stop) new function, to stop connection.
771 (global) adjust everything which closed peer fd to use
772 bgp_connection_stop().
773
gdt10d60ad2003-12-23 17:34:39 +00007742003-12-23 Krzysztof Oledzki <oleq@ans.pl>
775
776 * bgp_network.c: drop privs on error cases
777
paul6ad23f02004-02-17 19:45:10 +00007782003-08-11 kunihiro <kunihiro@zebra.org>
paulac41b2a2003-08-12 05:32:27 +0000779
780 * bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
781 ability to specify 'peer-address' rather than IP.
782
paul9238b1e2003-06-11 08:03:08 +00007832003-06-09 Paul Jakma <paul@dishone.st>
784
785 * bgp_clist.c (community_list_delete): honour deny statements
786
paul445f1432003-05-16 19:00:31 +00007872003-04-19 Hasso Tepper <hasso@estpak.ee>
788
789 * rip_routemap.c: sync daemon's route-map commands to have same
790 syntax
791
7922003-01-09 Akihiro Mizutani <mizutani@net-chef.net>
793
794 * bgp_routemap.c: Add match extcommunity command.
795
paul718e3742002-12-13 20:15:29 +00007962002-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
797
798 * bgp_aspath.c (aspath_init): Extend hash size from default to
799 32767.
800 (aspath_key_make): Use unsigned shoft for making hash. Suggested
801 by: Marc Evans <Marc@SoftwareHackery.Com>
802
8032002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
804
805 * bgp_clist.c (community_entry_free): Fix memory leak of standard
806 extcommunity-list config string.
807
8082002-08-19 Akihiro Mizutani <mizutani@net-chef.net>
809
810 * bgp_route.c (route_vty_out_detail): Fix bug of router-id display
811 when multiple instance is used.
812
8132002-08-18 Akihiro Mizutani <mizutani@net-chef.net>
814
815 * bgpd.c: Make "default-originate" and "maximum-prefix" commands
816 available in peer-group configuration.
817
8182002-08-13 Akihiro Mizutani <mizutani@net-chef.net>
819
820 * bgp_packet.c (bgp_open_send): Put Opt Parm Len 0 when last
821 capability packet cause error or dont-capability-negotiate option
822 is specified.
823
8242002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
825
826 * zebra-0.93 released.
827
8282001-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
829
830 * bgpd.c (bgp_vty_init): Translate update commands are removed.
831
8322001-10-10 Kunihiro Ishiguro <kunihiro@zebra.org>
833
834 * bgp_route.c (bgp_static_set): Add workaround for BGP static
835 route announcement when there is no zebra running.
836
8372001-10-08 Kunihiro Ishiguro <kunihiro@zebra.org>
838
839 * bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri
840 unicast multicast" commands.
841
8422001-09-14 Akihiro Mizutani <mizutani@dml.com>
843
844 * bgp_open.c: When we receive capability route-refresh, we should
845 check we send the capability not we receive the capability.
846
847 * bgp_route.c (bgp_network_mask_natural_route_map): network
848 statement route-map is added.
849
8502001-08-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
851
852 * bgp_advertise.c (bgp_advertise_intern): attr must be interned
853 before looking up hash table.
854
8552001-08-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
856
857 * bgpd.h (struct peer): BGP filter is moved from peer_conf to
858 peer.
859
8602001-08-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
861
862 * bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug.
863 Suggested by: "Hong-Sung Kim" <hoskim@lanbird.co.kr>.
864
8652001-08-26 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
866
867 * bgp_table.c (bgp_node_create): Clearn memory before use it.
868
8692001-08-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
870
871 * Change to use bgp_table.[ch].
872
8732001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
874
875 * bgpd.c (bgp_init): Add "transparent-as" and
876 "transparent-nexthop" for old version compatibility.
877
8782001-08-23 Akihiro Mizutani <mizutani@dml.com>
879
880 * bgpd.h (struct peer): default-originate route-map is added.
881
882 * bgp_route.c: When self originated route is advertised with
883 attrubute-unchanged, nexthop was not properly set. This bug is
884 fixed.
885
8862001-08-22 Akihiro Mizutani <mizutani@dml.com>
887
888 * bgpd.c (neighbor_attr_unchanged): transparent-as and
889 transparent-next-hop commands are restructured. Instead of
890 current transparent-* commands, attribute-unchanged command is
891 introduced.
892
893 neighbor A.B.C.D attribute-unchanged [as-path|next-hop|med]
894
895 (neighbor_default_originate): "default-originate" configuration
896 announce default route even 0.0.0.0/0 does not exists in BGP RIB.
897
8982001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
899
900 * zebra-0.92a released.
901
9022001-08-19 Akihiro Mizutani <mizutani@dml.com>
903
904 * bgpd.c: AF specific soft-reconfiguration inbound commands are
905 added.
906
9072001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
908
909 * bgp_route.c (bgp_show_callback): Do not do community NULL check.
910
911 * bgp_community.c (community_cmp): Add check for commnunity NULL
912 check.
913
914 * bgp_routemap.c (route_match_community): Do not check comunity is
915 NULL. It may match to community-list "^$".
916
917 * bgp_community.c (community_match): Add check for community is
918 NULL case.
919
9202001-08-17 Akihiro Mizutani <mizutani@dml.com>
921
922 * bgpd.c: AF specific route-reflector-client and
923 route-server-client configuration are added.
924
9252001-08-17 Rick Payne <rickp@ayrnetworks.com>
926
927 * bgp_clist.c (community_match_regexp): Check special ^$ case.
928
9292001-08-17 Akihiro Mizutani <mizutani@dml.com>
930
931 * bgp_clist.c (community_list_match): Fix bug of community list
932 permit and deny check.
933
9342001-08-16 Akihiro Mizutani <mizutani@dml.com>
935
936 * bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self"
937 command.
938
9392001-08-15 Akihiro Mizutani <mizutani@dml.com>
940
941 * bgpd.h (PEER_FLAG_SEND_COMMUNITY): Per AF based configuration
942 flag is introduced.
943
944 * bgp_mplsvpn.c (bgp_mplsvpn_init): VPNv4 filtering is added.
945
9462001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
947
948 * zebra-0.92 released.
949
9502001-08-13 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
951
952 * bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib
953 table properly.
954
9552001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
956
957 * bgp_route.c (bgp_node_safi): Return SAFI of current node.
958 (bgp_config_write_network_vpnv4): VPNv4 static configuration
959 display.
960
9612001-08-11 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
962
963 * bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast
964 node filter commands.
965
9662001-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
967
968 * bgpd.h (PEER_FLAG_IGNORE_LINK_LOCAL_NEXTHOP): Add
969 "ignore-link-local-nexthop" flag for ignore link-local nexthop for
970 IPv6.
971
9722001-08-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
973
974 * bgpd.c (address_family_ipv4_multicast): "address-family ipv4
975 multicast" is added.
976 (address_family_ipv6_unicast): "address-family ipv6 unicast" is
977 added.
978
9792001-08-07 Akihiro Mizutani <mizutani@dml.com>
980
981 * bgp_route.c (bgp_process): Use flag instead of as_selected
982 memeber in struct bgp_info.
983
984 * bgp_route.h (struct bgp_info): Remove as_selected memeber from
985 struct bgp_info.
986
9872001-07-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
988
989 * bgp_route.c (bgp_announce_check): Enclose sending time AS loop
990 check code with #ifdef BGP_SEND_ASPATH_CHECK.
991
9922001-07-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
993
994 * bgp_packet.c (bgp_withdraw_send): Simplify address family check.
995
996 * bgpd.h (BGP_INFO_HOLDDOWN): Introduce new macro to check BGP
997 information is alive or not.
998
999 * bgp_community.c: Use community_val_get() on all OS.
1000
10012001-07-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1002
1003 * bgp_route.c (bgp_announce_check): Simplify set next-hop self
1004 check.
1005
10062001-07-24 Akihiro Mizutani <mizutani@dml.com>
1007
1008 * bgp_route.c (bgp_announce_check): To route server clients, we
1009 announce AS path, MED and nexthop transparently.
1010
10112001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1012
1013 * bgp_routemap.c (route_set_atomic_aggregate_free): Do not call
1014 XFREE. No memory is allocated in
1015 route_set_atomic_aggregate_compile().
1016
10172001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1018
1019 * bgp_routemap.c (bgp_route_map_init): `match nlri` and `set nlri`
1020 are replaced by `address-family ipv4` and `address-family vpnvr'.
1021
10222001-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1023
1024 * bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED.
1025 Reported by Rick Payne <rickp@rossfell.co.uk>.
1026
10272001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1028
1029 * bgp_zebra.c (bgp_zebra_announce): When global IPv6 nexthop is
1030 empty, use socket's remote address for the nexthop.
1031
10322001-06-04 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1033
1034 * bgpd.c (peer_delete): Fix memory leak. Reported by Yosi Yarchi
1035 <Yosi_Yarchi@KereniX.com>
1036
10372001-06-01 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1038
1039 * bgpd.c (bgp_delete): Fix memory leak. Reported by Yosi Yarchi
1040 <Yosi_Yarchi@KereniX.com>
1041
10422001-05-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1043
1044 * bgp_route.c (bgp_route_clear_with_afi_vpnv4): Use next instead
1045 of ri->next.
1046
1047 * bgp_packet.c (bgp_withdraw_send): MPLS/VPN withdraw takes effect
1048 when HAVE_IPV6 is not defined.
1049
10502001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
1051
1052 * bgpd.c (peer_timers_set): Adjust keepalive timer to fit less
1053 than holdtime / 3.
1054 (bgp_confederation_peers_unset): Only set peer->local_as when
1055 confederation is enabled.
1056 (bgp_timers): Add "timers bgp <0-65535> <0-65535>" command.
1057
1058 * bgp_route.c (bgp_announce_check): Set med of redistributed route
1059 when it is announced to EBGP peer.
1060
10612001-03-06 "Akihiro Mizutani" <mizutani@dml.com>
1062
1063 * bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for
1064 all prefixes.
1065
10662001-03-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1067
1068 * bgp_attr.c (bgp_attr_origin): When bgpd send NOTIFICATION with
1069 erroneous attribute (type, length and value), it does include
1070 attribute flags field.
1071
10722001-02-21 "Akihiro Mizutani" <mizutani@dml.com>
1073
1074 * bgp_route.c (bgp_announce_check): The route reflector is not
1075 allowed to modify the attributes of the reflected IBGP routes.
1076
10772001-02-20 "Akihiro Mizutani" <mizutani@dml.com>
1078
1079 * bgp_route.c (bgp_info_cmp): During path seleciton, BGP
1080 confederation peer is treated as same as IBGP peer.
1081
10822001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1083
1084 * bgp_route.c (bgp_redistribute_add): Initialize attr_new with
1085 attr. Call aspath_unintern when return from this function.
1086
10872001-02-19 "Akihiro Mizutani" <mizutani@dml.com>
1088
1089 * bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is
1090 changed.
1091
10922001-02-18 "Akihiro Mizutani" <mizutani@dml.com>
1093
1094 * bgp_packet.c (bgp_open_receive): When user configure holdtimer,
1095 do not refrect the value to current session.
1096
10972001-02-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1098
1099 * bgp_route.c (bgp_aggregate_delete): Set BGP_INFO_ATTR_CHANGE to
1100 suppress route withdraw.
1101
1102 * bgp_damp.c (bgp_damp_init): Fix bug of flap dampening.
1103
11042001-02-16 "Akihiro Mizutani" <mizutani@dml.com>
1105
1106 * bgp_aspath.c (aspath_make_str_count): Use ',' for separator for
1107 AS_SET and AS_CONFED_SET.
1108
11092001-02-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1110
1111 * bgp_route.c (bgp_process): Do not consider suppress route.
1112
1113 * bgp_aspath.c (aspath_aggregate_as_set_add): Reset asset when
1114 aspath->data is realloced.
1115
11162001-02-15 "Akihiro Mizutani" <mizutani@dml.com>
1117
1118 * bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic
1119 aggregate when using as-set.
1120
11212001-02-14 "Akihiro Mizutani" <mizutani@dml.com>
1122
1123 * bgpd.c (bgp_confederation_peers_unset): Set peer's local-as
1124 correctly.
1125
1126 * bgp_route.c (bgp_update): Just ignore AS path loop for
1127 confederation peer.
1128
11292001-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1130
1131 * bgp_route.c (bgp_aggregate_set): Add as_set argument.
1132 (bgp_aggregate_unset): Remove summary_only argument.
1133 (aggregate_address_as_set): New commands.
1134 "aggregate-address A.B.C.D/M as-set"
1135 "no aggregate-address A.B.C.D/M as-set"
1136
11372001-02-08 "Akihiro Mizutani" <mizutani@dml.com>
1138
1139 * bgp_route.c (bgp_announce_check): Do not modify nexthop when the
1140 route is passed by route reflector.
1141
11422001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1143
1144 * bgp_route.c: "no bgp dampening" with argument.
1145 (bgp_announce_check): Do not modify nexthop when the route is
1146 passed by route reflector.
1147
11482001-02-07 "Akihiro Mizutani" <mizutani@dml.com>
1149
1150 * bgpd.c (neighbor_passive): Change "neighbor NEIGHBOR remote-as
1151 ASN passive" to "neighbor NEIGHBOR passive".
1152 (bgp_announce_check): Check well-known community attribute even
1153 when "no neighbor send-community" is set.
1154
11552001-02-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1156
1157 * bgp_fsm.c (bgp_establish): Do not send keepalive at established
1158 time when keepalive timer is configured as zero.
1159
11602001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1161
1162 * bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local
1163 preference is well-known attribute.
1164
11652001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1166
1167 * zebra-0.91 is released.
1168
1169 * bgp_attr.h (struct attr): Comment out DPA value.
1170 (struct attr): Change refcnt type from int to unsinged long.
1171
1172 * bgp_attr.c (attrhash_key_make): Likewise.
1173 (attrhash_cmp): Likewise.
1174 (bgp_attr_dpa): Likewise.
1175
11762001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1177
1178 * bgp_route.c (bgp_info_cmp): Make route selection completely same
1179 as Cisco's.
1180
11812001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1182
1183 * bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to
1184 BGP_ATTR_FLAG_* to clarify meenings.
1185
11862001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1187
1188 * bgp_route.c (route_vty_out): Display argument to suppress same
1189 prefix information display.
1190 (route_vty_out_route): Don't display mask information for
1191 classfull network.
1192
11932001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1194
1195 * bgp_attr.h (SET_BITMAP): Simple bitmapping macros.
1196
1197 * bgp_attr.c (bgp_attr_parse): Use bitmap for attribute type
1198 check.
1199
12002001-01-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1201
1202 * bgp_attr.c (bgp_mp_reach_parse): Enclose loggin with BGP_DEBUG.
1203 (bgp_attr_parse): Comment out well-known attribute check.
1204
12052001-01-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1206
1207 * bgp_route.c (bgp_static_unset): Link-local IPv6 address can't be
1208 used for network advertisement.
1209 (nlri_parse): When link-local IPv6 address NLRI comes from
1210 remote-peer, log the information then simply ignore it.
1211
1212 * bgp_zebra.c (zebra_read_ipv6): Link-local IPv6 address is not
1213 redistributed.
1214
1215 * bgp_route.c (bgp_update): Check IPv6 global nexthop
1216 reachability.
1217
12182001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1219
1220 * bgp_route.c (bgp_update): Check nexthop points local address or
1221 not.
1222 (bgp_static_update_vpnv4): Set valid flag.
1223
1224 * bgp_attr.c (bgp_attr_parse): Duplicate attribute check.
1225 (bgp_attr_parse): Well-known attribute check.
1226
1227 * bgp_open.c (bgp_auth_parse): Authentication is not yet supported.
1228
1229 * bgp_packet.c (bgp_valid_marker): Check marker is synchronized.
1230
1231 * bgpd.c (clear_bgp): Send NOTIFICATION Cease when SEND_CEASE is
1232 defined.
1233
1234 * bgp_snmp.c (bgp4PathAttrTable): Fix compile error.
1235
12362001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1237
1238 * bgpd.c (bgp_network_import_check): New command for IGP network
1239 check.
1240
12412001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1242
1243 * bgp_nexthop.c (bgp_scan): Run bgp_process when IGP metric is
1244 changed. Call bgp_process once for each node.
1245
12462001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1247
1248 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1249
12502001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1251
1252 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1253
1254 * bgp_nexthop.c (bgp_nexthop_lookup): Set IGP metric for valid
1255 IBGP route.
1256
12572001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1258
1259 * bgp_route.c (show_ip_bgp_prefix_longer): Add new commands.
1260 "show ip bgp A.B.C.D/M longer-prefixes"
1261 "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes"
1262 "show ipv6 bgp X:X::X:X/M longer-prefixes"
1263 "show ipv6 mbgp X:X::X:X/M longer-prefixes"
1264
12652001-01-20 "Akihiro Mizutani" <mizutani@dml.com>
1266
1267 * bgp_route.c (show_ip_bgp_cidr_only): Add new commands.
1268 "show ip bgp cidr-only"
1269 "show ip bgp ipv4 (unicast|multicast) cidr-only"
1270
12712001-01-18 "Akihiro Mizutani" <mizutani@dml.com>
1272
1273 * bgp_route.c (bgp_update): AS path lookup check is done in
1274 bgp_update() not in attr_parse().
1275
12762001-01-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1277
1278 * bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just
1279 before bgp_attr_unintern().
1280
12812001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1282
1283 * bgp_route.c (bgp_update): Now intern is performed very last part
1284 of the BGP packet update procedure.
1285
12862001-01-17 "Akihiro Mizutani" <mizutani@dml.com>
1287
1288 * bgp_route.c (bgp_update): When implicit withdraw occur, reuse
1289 existing bgp_info structure.
1290
12912001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1292
1293 * bgp_route.c (bgp_aggregate_decrement): Fix bug of aggregate
1294 address matching method.
1295 (bgp_update):
1296
1297 * bgp_nexthop.c (bgp_nexthop_onlink): Separate EBGP nexthop onlink
1298 check and IBGP nexthop route check.
1299
13002001-01-16 "Akihiro Mizutani" <mizutani@dml.com>
1301
1302 * bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute
1303 change.
1304
13052001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1306
1307 * bgp_route.h (struct bgp_info): Remove selected flag. Use
1308 BGP_INFO_SELECTED for flags instead.
1309 (struct bgp_info): Remove valid flag. Use BGP_INFO_VALID for
1310 flags instead.
1311 (struct bgp_info): Add igpmetric for IBGP route nexthop IGP
1312 metric.
1313 (struct bgp_info_tab): Struct bgp_info_tag is integrated into
1314 struct bgp_info.
1315 (BGP_INFO_ATRR_CHANGED): Added for track attribute change.
1316
1317 * bgp_community.c (community_val_get): gcc-2.95 on
1318 sparc-sun-solaris cause crush. This function is for avoid the
1319 crush.
1320
13212001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1322
1323 * bgp_packet.c (bgp_open_receive): Translated peer's packet_size
1324 clear bug is fixed.
1325
13262001-01-14 "Akihiro Mizutani" <mizutani@dml.com>
1327
1328 * bgp_packet.c (bgp_open_receive): Return notification with
1329 supported version number.
1330
13312001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1332
1333 * bgpd.c (bgp_show_summary): Display AS path and community
1334 entries. Suggested by: "Matt Ranney" <mjr@ranney.com>.
1335
1336 * bgp_packet.c (bgp_read_packet): Fix bug of unblocking BGP socket
1337 read. When BGP packet read is partial, we must get size and type
1338 from packet again.
1339
13402001-01-12 "Akihiro Mizutani" <mizutani@dml.com>
1341
1342 * bgp_route.c (bgp_update): Do not unset BGP_INFO_HISTORY flag.
1343 (bgp_update): When there is a history entry increment route count.
1344 (bgp_damp_set): Check BGP_CONFIG_DAMPENING flag.
1345
1346 * bgp_damp.c (bgp_damp_withdraw): Set status to
1347 BGP_DAMP_DISCONTINUE.
1348
13492001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1350
1351 * bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second
1352 IPv6 nexthop is not link-local addresss.
1353
13542001-01-11 "Akihiro Mizutani" <mizutani@dml.com>
1355
1356 * bgp_damp.c (bgp_config_write_damp): Smart flap dampening
1357 configuration display.
1358 (bgp_damp_info_print): Display elapsed time from flap started.
1359
1360 * bgp_damp.h (struct bgp_damp_info): Add flap start time.
1361
1362 * bgpd.c (peer_create): Set last read time.
1363 (bgp_show_peer): Display last read time.
1364 (bgp_show_summary): Use BGP_CONFIG_DAMPENING flag to check
1365 configuration.
1366
1367 * bgpd.h (BGP_CONFIG_DAMPENING): Add new configuration option.
1368 (struct peer): Add last read time member.
1369 (BGP_VERSION_MP_4): Remove obsolete definition.
1370
13712001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1372
1373 * bgp_nexthop.c: Remove OLD_RIB codes.
1374
1375 * bgp_route.c (bgp_process): Likewise.
1376
1377 * zebra-0.90 is released.
1378
1379 * bgp_route.h (BGP_INFO_HISTORY): Remove damped member from struct
1380 bgp_info. Instead of that use BGP_INFO_DAMPED flag.
1381 (struct bgp_info): Remove invalid member from struct bgp_info.
1382 Instead of that use BGP_INFO_HISTORY flag.
1383
13842001-01-10 "Akihiro Mizutani" <mizutani@dml.com>
1385
1386 * bgp_damp.c (bgp_damp_info_print): New function to display
1387 dampening status.
1388 (DEFAULT_HARF_LIFE): Define default value.
1389 (DEFAULT_REUSE): Likewise.
1390 (DEFAULT_SUPPRESS): Likewise.
1391 (bgp_config_write_damp): When config value is same as default
1392 value, simply display "bgp dampening" to configuration.
1393
1394 * bgp_damp.h (struct bgp_damp_info): Add flap member.
1395
1396 * bgp_route.h (struct bgp_info): Added for BGP flap dampening
1397 history status.
1398
13992001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1400
1401 * bgp_nexthop.c (bgp_connected_add): Point-to-point connected
1402 address is properly handled.
1403 (bgp_connected_delete): Likewise.
1404
1405 * bgp_route.c (bgp_route_init): Turn off BGP Flap dampening code
1406 until it works fine.
1407
14082001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1409
1410 * bgpd.c (bgp_show_summary): Add BGP_VERSION_MP_4 case.
1411
1412 * bgp_route.c (bgp_update): When this is not damped route, clear
1413 ri pointer.
1414
14152001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1416
1417 * bgp_main.c: Add "-n" no_kernel option to not install route to
1418 kernel. Suggested by: "Matt Ranney" <mjr@ranney.com>
1419
14202001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1421
1422 * bgp_nexthop.c (bgp_connected_add): Revert point-to-point
1423 connected route patch. Reported by ruud@ruud.org (Ruud de Rooij)
1424
1425 * bgp_damp.c (bgp_config_write_damp): Add configuration display
1426 function.
1427
1428 * bgp_route.c (bgp_info_free): Set NULL to BGP dampening
1429 information when BGP info structure is freed.
1430 (bgp_info_cmp): Check damped flag.
1431 (bgp_announce_check): Damped route is not announced.
1432
14332001-01-09 "Akihiro Mizutani" <mizutani@dml.com>
1434
1435 * bgpd.c (neighbor_capability_route_refresh): Change "neighbor
1436 route-refresh" command to "neighbor capability route-refresh".
1437 (clear_bgp_soft_in): Change soft-reconfig method.
1438
1439 clear ip bgp <neighbor> soft in
1440 --------------------------------------
1441 Try stored cache first then route-refresh
1442
1443 clear ip bgp <neighbor> in
1444 ---------------------------------
1445 Try route-refresh first then try to use stored cache
1446
14472001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1448
1449 * bgp_nexthop.c (bgp_connected_add): Check point-to-point
1450 connected route. Reported by ruud@ruud.org (Ruud de Rooij)
1451
14522001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1453
1454 * bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is
1455 changed, refresh it.
1456
14572001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1458
1459 * bgp_route.h (struct bgp_info_tag): Add as_selected to
1460 bgp_info_tag.
1461
14622001-01-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1463
1464 * bgp_route.h (struct bgp_info_tag): Add damped and bgp_damp_info
1465 member for BGP flap dampening.
1466
1467 * bgp_damp.c: New file is added.
1468
1469 * bgp_damp.h: Likewise.
1470
14712001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1472
1473 * bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd".
1474
14752000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1476
1477 * bgp_nexthop.c (zlookup_connect): Change to use UNIX domain
1478 socket for zebra communication.
1479
14802000-12-29 Akihiro Mizutani <mizutani@dml.com>
1481
1482 * bgp_route.c (bgp_process): Fix "bgp deterministic-med" process.
1483
14842000-12-27 Akihiro Mizutani <mizutani@dml.com>
1485
1486 * bgp_route.c (bgp_process): Add "bgp deterministic-med" process.
1487
14882000-12-25 Akihiro Mizutani <mizutani@dml.com>
1489
1490 * bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID.
1491
14922000-12-18 Akihiro Mizutani <mizutani@dml.com>
1493
1494 * bgp_route.c (bgp_info_cmp): When over three same prefix exit,
1495 withdrawing best prefix perform router ID comparison.
1496
14972000-12-15 Akihiro Mizutani <mizutani@dml.com>
1498
1499 * bgp_route.c (bgp_info_cmp): Do not compare router ID when the
1500 routes comes from EBGP peer. When originator ID is same, take
1501 shorter cluster-list route. If cluster-list is same take smaller
1502 IP address neighbor's route.
1503
1504 * bgpd.c (bgp_bestpath_aspath_ignore): Add "bgp bestpath as-path
1505 ignore" command. When this option is set, do not concider AS path
1506 length when route selection.
1507 (bgp_bestpath_compare_router_id): Add "bgp bestpath
1508 compare-routerid". When this option is set, compare router ID
1509 when the routes comes from EBGP peer.
1510
15112000-12-15 Akihiro Mizutani <mizutani@dml.com>
1512
1513 * bgp_route.c (bgp_info_cmp): Compare originator ID when it is
1514 available.
1515
15162000-12-14 Akihiro Mizutani <mizutani@dml.com>
1517
1518 * bgp_packet.c (bgp_notify_receive): Disply received Notify data
1519 information.
1520
15212000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1522
1523 * bgp_filter.c (as_filter_free): Use MTYPE_AS_FILTER_STR to make
1524 it sure the memory is freed.
1525
1526 * bgp_route.c (route_vty_out_detail): Do not use AF_INET6 outside
1527 HAVE_IPV6.
1528
15292000-12-08 Akihiro Mizutani <mizutani@dml.com>
1530
1531 * bgp_packet.c (bgp_notify_send_with_data): Store BGP notification
1532 data part.
1533
1534 * bgp_network.c (bgp_accept): When BGP connection comes from
1535 unconfigured IP address, close socket immediately.
1536
1537 * bgpd.c: Fix some display format.
1538
15392000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1540
1541 * bgp_packet.c (bgp_keepalive_send): Delete duplicate
1542 bgp_packet_set_size () call.
1543
15442000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1545
1546 * bgp_packet.c (bgp_read_packet): Remove debug codes.
1547
15482000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1549
1550 * bgp_snmp.c (write_bgpPeerTable): Add SNMP set method routine.
1551
1552 * bgp_fsm.c (bgp_stop): Use fsm_change_status to change peer's
1553 status.
1554 (bgp_establish): Likewise.
1555
15562000-11-26 Akihiro Mizutani <mizutani@dml.com>
1557
1558 * bgp_open.c: Fix error messages.
1559
15602000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1561
1562 * bgp_fsm.c (bgp_establish): Call BGP trap when the peer is
1563 established.
1564 (bgp_stop): Call BGP trap when the peer is dropped.
1565
15662000-11-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1567
1568 * bgp_snmp.c (bgp4PathAttrTable): Return BGP path attribute table.
1569
1570 * bgpd.h (struct peer): Add update_time for track last update
1571 received time.
1572
1573 * bgp_packet.c (bgp_notify_receive): Preserv notify code and sub
1574 code in any case.
1575
1576 * bgp_snmp.c (bgpPeerTable): Return remote router ID instead of
1577 peering IP address.
1578 (bgpPeerTable): Return actual BGP version number.
1579
15802000-11-22 Akihiro Mizutani <mizutani@dml.com>
1581
1582 * bgp_debug.c (bgp_notify_print): Notify data length display bug
1583 is fixed.
1584
15852000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1586
1587 * bgp_nexthop.c (zlookup_connect): When UNIX domain connection to
1588 zebra is enabled, use the method.
1589
15902000-11-16 Akihiro Mizutani <mizutani@dml.com>
1591
1592 * bgpd.c: Revise debug message output.
1593
15942000-11-15 Akihiro Mizutani <mizutani@dml.com>
1595
1596 * bgp_clist.c (ip_community_list): Fix bug of string comparison.
1597
15982000-11-14 Akihiro Mizutani <mizutani@dml.com>
1599
1600 * bgp_community.c (community_match): Fix bug of memcmp return
1601 value check.
1602
16032000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1604
1605 * bgp_clist.c (community_list_match_exact): Add check for
1606 entry->style is COMMUNITY_LIST.
1607 (community_match_regexp): Apply new com_nthval macro.
1608
16092000-11-07 Rick Payne <rickp@rossfell.co.uk>
1610
1611 * bgp_routemap.c (route_set_community_delete): "set
1612 community-delete COMMUNITY-LIST" is added.
1613
1614 * bgp_community.c (community_del_val): Delete one community.
1615 (community_delete): Delete all community included in list.
1616 (community_match): Fix bug of matching community value.
1617
1618 * bgp_clist.c (community_entry_free): Free community regular
1619 expression.
1620 (community_entry_make): Default style is COMMUNITY_LIST.
1621 (community_entry_lookup): Make it sure style is COMMUNITY_LIST.
1622 (community_entry_regexp_lookup): New function for community
1623 regular expression lookup.
1624 (community_match_regexp): New function.
1625 (community_delete_regexp): New function.
1626 (community_list_delete_entries): New function.
1627 (community_list_match): Add COMMUNITY_REGEXP treatment.
1628 (community_list_match_exact): Likewise.
1629 (config_write_community): Write community list according to
1630 entry->style.
1631
16322000-11-07 Rick Payne <rickp@rossfell.co.uk>
1633
1634 * bgp_attr.c (bgp_attr_aspath): AS path first AS check.
1635
1636 * bgp_clist.c (struct community_entry): Add style, regexp, reg to
1637 community_entry.
1638
16392000-11-06 Rick Payne <rickp@rossfell.co.uk>
1640
1641 * bgp_aspath.c (aspath_firstas_check): AS path first AS check.
1642
1643 * bgpd.c (bgp_enforce_first_as): New command "bgp
1644 enforce-first-as".
1645
1646 * bgpd.h (BGP_CONFIG_ENFORCE_FIRST_AS): Add new flag.
1647
16482000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1649
1650 * bgp_community.c (community_compare): Copy byte stream data to
1651 actual value instead of using type casting hack.
1652 (community_add_val): Likewise.
1653 (community_uniq_sort): Likewise.
1654 (community_print): Likewise.
1655 (community_print_vty): Likewise.
1656 (community_include): Use memcmp to compare community value.
1657
1658 * bgp_community.h (com_lastval): com_lastval and com_nthval macro
1659 return pointer.
1660
16612000-11-06 Akihiro Mizutani <mizutani@dml.com>
1662
1663 * bgpd.h (struct peer): Add established and dropped member for
1664 count peering up/down statistics.
1665
1666 * bgpd.c (bgp_show_peer): Display peering up/down statistics.
1667
1668 * bgp_fsm.c (bgp_establish): Increment established count.
1669 (bgp_stop): Increment dropped count.
1670
1671 * bgp_packet.c (bgp_notify_receive): Increament notify count.
1672
16732000-11-1 Akihiro Mizutani <mizutani@dml.com>
1674
1675 * bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared.
1676
16772000-10-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1678
1679 * bgpd.h: Static bit flag is set by (1 << DIGIT).
1680
16812000-10-24 Akihiro Mizutani <mizutani@dml.com>
1682
1683 * bgp_ecommunity.c (ecommunity_dup): Extended community display
1684 format fix.
1685
16862000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1687
1688 * bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror.
1689 (bgp_serv_sock_addrinfo): Check address family.
1690
16912000-10-23 Jochen Friedrich <jochen@scram.de>
1692
1693 * bgp_snmp.c: bgp_oid and bgpd_oid are used in smux_open after it
1694 is registered. So those variables must be static.
1695
16962000-10-23 Akihiro Mizutani <mizutani@dml.com>
1697
1698 * bgp_routemap.c (route_match_ip_next_hop): Change "match ip
1699 next-hop" argument from IP address to access-list name.
1700 Remove zebra-0.88 compatibility commands.
1701 "match ip prefix-list WORD"
1702 "match ipv6 prefix-list WORD"
1703
17042000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1705
1706 * bgp_routemap.c (route_match_ipv6_next_hop_compile): Fix bug of
1707 passing the pointer to the pointer of struct in6_addr instead of
1708 the pointer of struct in6_addr in "match ipv6 next-hop" command.
1709
1710 * bgp_route.c (bgp_announce_check): Enclose IPv6 part with
1711 HAVE_IPV6.
1712
17132000-10-20 Jasper Wallace <jasper@ivision.co.uk>
1714
1715 * bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed. Change
1716 to use linklist.c. Define COUNTER32 as ASN_COUNTER.
1717
17182000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * bgp_route.c (bgp_announce_check): attr->nexthop empty check
1721 should be done by attr->nexthop.s_addr instead of strcmp.
1722
17232000-10-18 Akihiro Mizutani <mizutani@dml.com>
1724
1725 * bgp_zebra.c (zebra_read_ipv4): Pass nexthop value to
1726 bgp_redistribute_add().
1727
1728 * bgp_nexthop.c (bgp_multiaccess_check_v4): New function for
1729 checking IPv4 multiaccess nexthop.
1730
1731 * bgp_route.c (bgp_announce_check): In case of the nexthop is
1732 reachable on multiaccess media, do not change nexthop.
1733 (bgp_redistribute_add): Set nexthop when the value is passed.
1734
17352000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1736
1737 * bgp_fsm.c (bgp_timer_set): If peer is passive mode, do not set
1738 connect timer.
1739 (bgp_start): If the peer is passive mode, force to move to Active
1740 mode.
1741
17422000-10-17 Horms <horms@vergenet.net>
1743
1744 * bgp_debug.c (debug_bgp_fsm): Fix typo.
1745
17462000-10-17 Akihiro Mizutani <mizutani@dml.com>
1747
1748 * bgp_route.c: "show ipv6 bgp" route display improvement.
1749
17502000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1751
1752 * bgp_route.c (neighbor_routes): Allocate sockunion for callback
1753 function.
1754 (bgp_show_neighbor_route): Remove static declaration for union
1755 sockunion.
1756
1757 * bgpd.c (peer_update_source_set): Clean previously allocated
1758 memory before allocate new one.
1759
17602000-10-03 Akihiro Mizutani <mizutani@dml.com>
1761
1762 * bgp_route.c (neighbor_routes): Add show neighbor's routes
1763 command.
1764 "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes"
1765 "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes"
1766 "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes"
1767 "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes"
1768
17692000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1770
1771 * zebra-0.89 is released.
1772
17732000-10-02 Akihiro Mizutani <mizutani@dml.com>
1774
1775 * bgpd.c: "bgp deterministic-med" command is added.
1776
17772000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1778
1779 * bgp_nexthop.c (bgp_connected_add): Apply mask for connected
1780 route addition and deletion.
1781
17822000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1783
1784 * bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment
1785 when comparing leftmost AS number.
1786
17872000-09-29 Akihiro Mizutani <mizutani@dml.com>
1788
1789 * bgpd.c (peer_route_reflector): Route reflector can be set for
1790 IBGP peer.
1791 (bgp_distribute_set): Fix bug of string check for (in|out).
1792 (bgp_show_summary): Display total neighbor count.
1793
17942000-09-28 Akihiro Mizutani <mizutani@dml.com>
1795
1796 * bgp_attr.c (bgp_packet_attribute): Only add cluster_list and
1797 originator for clinet to client routes.
1798 (bgp_packet_attribute): Add new cluster_list to the beginning of
1799 existing cluster_list.
1800 (bgp_packet_attribute): Fix bug of originator is rewritten even
1801 when originator is already set.
1802
18032000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1804
1805 * bgpd.c (bgp_client_to_client_reflection): Add new command.
1806 "no bgp client-to-client reflection"
1807 "bgp client-to-client reflection"
1808
1809 * bgpd.h (BGP_CONFIG_NO_CLIENT_TO_CLIENT): Add new definition.
1810
18112000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1812
1813 * bgp_packet.c (bgp_read): Make BGP packet read to non-blocking
1814 read.
1815 (bgp_read_packet): Likewise.
1816 (bgp_read_packet): When errono is EAGAIN, try to read it again.
1817
1818 * bgp_fsm.c (bgp_stop): Clear packet size and read buffer.
1819
18202000-09-26 Akihiro Mizutani <mizutani@dml.com>
1821
1822 * bgp_routemap.c: Configuration of prefix-list match is shown as
1823 "match ip address prefix-list <WORD>". Old configuration "match
1824 ip prefix-list <WORD>" is left for compatibilitty.
1825
18262000-09-25 Akihiro Mizutani <mizutani@dml.com>
1827
1828 * bgpd.h (BGP_CONFIG_MED_MISSING_AS_WORST): Changed from
1829 BGP_CONFIG_MISSING_AS_WORST.
1830
1831 * bgpd.c (bgp_bestpath_med): Change missing-as-worst syntax.
1832 Old "bgp bestpath missing-as-worst"
1833 New "bgp bestpath med missing-as-worst"
1834
18352000-09-24 Akihiro Mizutani <mizutani@dml.com>
1836
1837 * bgp_route.c: Compare MED properly in case of CONFED-IBGP.
1838
18392000-09-21 steve@Watt.COM (Steve Watt)
1840
1841 * bgp_debug.h: Do not declare debug variables conf_bgp_debug_* and
1842 term_bgp_debug_*.
1843
1844 * bgp_debug.c: Declare variables here.
1845
18462000-09-21 Akihiro Mizutani <mizutani@dml.com>
1847
1848 * bgpd.c: MBGP soft-reconfiguration command is added.
1849 clear ip bgp x.x.x.x ipv4 (unicast|multicast) in
1850 clear ip bgp x.x.x.x ipv4 (unicast|multicast) out
1851 clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft
1852 clear ip bgp <1-65535> ipv4 (unicast|multicast) in
1853 clear ip bgp <1-65535> ipv4 (unicast|multicast) out
1854 clear ip bgp <1-65535> ipv4 (unicast|multicast) soft
1855 clear ip bgp * ipv4 (unicast|multicast) in
1856 clear ip bgp * ipv4 (unicast|multicast) out
1857 clear ip bgp * ipv4 (unicast|multicast) soft
1858
1859 Change "clear ip bgp vpnv4 x.x.x.x soft" command to
1860 "clear ip bgp x.x.x.x vpnv4 unicast soft".
1861
1862 "bgp bestpath med confed" command is added.
1863
1864 * bgpd.h (BGP_CONFIG_MED_CONFED): Add New definition.
1865
18662000-09-18 Rick Payne <rickp@rossfell.co.uk>
1867
1868 * bgpd.c (bgp_show_peer): Fix misplaced #endif.
1869
18702000-09-12 Akihiro Mizutani <mizutani@dml.com>
1871
1872 * bgpd.c (bgp_default_local_preference): Add "bgp default
1873 local-preference" command.
1874
1875 * bgp_nexthop.c (no_bgp_scan_time): Add "no bgp scan-time"
1876 command.
1877
18782000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1879
1880 * bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes
1881 are passed to zebra like IBGP route.
1882
18832000-09-10 Akihiro Mizutani <mizutani@dml.com>
1884
1885 * bgpd.c (bgp_config_write_peer): Make it consistent passive
1886 configuration.
1887
1888 * bgp_route.c: Community match command is added.
1889 "show ip bgp community <val>"
1890 "show ip bgp community <val> exact-match"
1891
18922000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1893
1894 * bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are
1895 treated as IBGP routes.
1896
18972000-09-08 Akihiro Mizutani <mizutani@dml.com>
1898
1899 * bgp_route.c (bgp_show_route): When local-AS community route is
1900 selected, display "not advertised outside local AS" to "show ip
1901 route A.B.C.D" output.
1902 (show_ip_bgp_ipv4_filter_list): Add below four commands.
1903 "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
1904 "show ip bgp ipv4 (unicast|multicast) community"
1905 "show ip bgp ipv4 (unicast|multicast) community-list WORD"
1906 "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
1907
1908 * bgp_clist.c (community_list_match_exact): Community exact match
1909 function.
1910
19112000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1912
1913 * bgp_route.c (bgp_update): Add peer's ttl check.
1914
1915 * bgpd.h (struct peer): Structure member refresh is renamed to
1916 refresh_adv.
1917
1918 * bgpd.c (clear_bgp_soft_in): Check PEER_FLAG_ROUTE_REFRESH flag
1919 when soft reconfiguration is performed.
1920
1921 * bgp_zebra.c (bgp_zebra_announce): When the peer is EBGP and
1922 ebgp-multiphop is set, set ZEBRA_FLAG_INTERNAL for nexthop lookup.
1923
1924 * bgp_route.h (struct bgp_info_tag): Add valid flag.
1925
19262000-08-25 Akihiro Mizutani <mizutani@dml.com>
1927
1928 * bgpd.c: Add AS base BGP soft reconfiguration.
1929
1930 * bgp_route.c: When no-advertise or no-export route is selected,
1931 "show ip bgp" display "not advertised to EBGP peer" or "not
1932 advertised to any peer" message.
1933
19342000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1935
1936 * zebra-0.88 is released.
1937
1938 * bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump
1939 bgp route-mrt" to support MRT specific dump format.
1940
1941 * bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is
1942 added.
1943
1944 * bgp_route.c (bgp_update): Currently nexthop check is only works
1945 for IPv4.
1946
19472000-08-17 Akihiro Mizutani <mizutani@dml.com>
1948
1949 * bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for
1950 both inbound and outbound soft reconfiguration.
1951
19522000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1953
1954 * bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration
1955 outbound.
1956 (peer_new): Set route-refresh flag.
1957
19582000-08-16 Akihiro Mizutani <mizutani@dml.com>
1959
1960 * bgpd.c: "no bgp router-id A.B.C.D" alias is added. "no bgp
1961 cluster-id A.B.C.D" alias is added. " bgp cluster-id
1962 <1-4294967295>" alias is added. "clear ip bgp * soft in" command
1963 is added. "clear ip bgp A.B.C.D in" alias is added. "clear ip
1964 bgp * in" alias is added.
1965
19662000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1967
1968 * bgp_route.c (bgp_update): Add soft_reconfig flag. When the flag
1969 is set do not install the route into Adj-RIBs-In.
1970 (bgp_update): Perform implicit withdraw before filtering of the
1971 route.
1972
1973 * bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt
1974 capability code and BGP message can be accepted.
1975
1976 * bgp_open.c (bgp_capability_parse): Likewise.
1977
1978 * bgp_route.c (bgp_refresh_table): New function for route refresh.
1979 (bgp_refresh_rib): Likewise.
1980
1981 * bgpd.c (bgp_show_peer): Display route refresh status.
1982
1983 * bgp_route.c (bgp_aggregate_add): Add check for the route
1984 validness.
1985 (bgp_aggregate_delete): Likewise.
1986
19872000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1988
1989 * bgp_nexthop.c (bgp_scan): Care for aggregate route when the
1990 route become inaccessible.
1991
19922000-08-15 Akihiro Mizutani <mizutani@dml.com>
1993
1994 * bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M"
1995 command is added.
1996
19972000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1998
1999 * bgp_zebra.c (bgp_interface_up): Register connected route.
2000 (bgp_interface_down): Unregister connected route.
2001
20022000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2003
2004 * bgp_route.h (struct bgp_info): Add distance to the structure.
2005
2006 * bgp_route.c (bgp_aggregate_increment): Aggregate route only
2007 match to smaller prefixlen route not match same prefixlen route.
2008 (bgp_aggregate_decrement): Likewise.
2009 (bgp_aggregate_add): Likewise.
2010 (bgp_aggregate_delete): Likewise.
2011 (bgp_network_backdoor): Add backdoor network configuration.
2012
2013 * bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store
2014 configuration distance value.
2015
2016 * bgp_route.c (bgp_update): Filter EBGP route which has non
2017 connected nexthop.
2018
2019 * bgp_attr.c (bgp_attr_aggregate_intern): New function for
2020 aggregate route. Set origin to IGP. Set atomic aggregate flag.
2021 Set aggregator AS and address.
2022 (bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when
2023 filling aggregator_as.
2024
2025 * bgp_route.c (bgp_process): Delete suppress check for install
2026 suppressed route into local routing table.
2027 (bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead
2028 of bgp_attr_default_intern ().
2029 (bgp_aggregate_add): Likewise.
2030
2031 * bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is
2032 created. This is for avoid 0.0.0.0 router-id.
2033
20342000-08-13 Akihiro Mizutani <mizutani@dml.com>
2035
2036 * bgp_route.c (route_vty_out_detail): Display "valid" when the
2037 route is valied. Display "aggregated" when the route is
2038 aggregated. "Advertisements suppressed by an aggregate" is
2039 displayed when the route is suppressed.
2040 (bgp_info_cmp): Prefer EBGP than Confed-EBGP.
2041
20422000-08-10 Akihiro Mizutani <mizutani@dml.com>
2043
2044 * bgp_route.c (route_vty_out_detail): Display format change.
2045
20462000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2047
2048 * bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled.
2049
2050 * bgpd.c (bgp_delete): Delete static route before delete peer
2051 configuration.
2052
20532000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2054
2055 * bgpd.c: Include bgpd/bgp_nexthop.h.
2056
20572000-07-31 Akihiro Mizutani <mizutani@dml.com>
2058
2059 * bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP
2060 identifier. And status is changed like below.
2061
2062 State/Pref -> State/PfxRcd
2063 Shutdown -> Idle (Admin)
2064 PrefixOvflw -> Idle (PfxCt)
2065
2066 * bgp_route.c (route_vty_out): Show internal route as "i".
2067
20682000-07-13 Jim Bowen <jimb@zereau.net>
2069
2070 * bgp_snmp.c: Add BGP peer MIB implementation.
2071
20722000-07-12 Akihiro Mizutani <mizutani@dml.com>
2073
2074 * bgpd.c (bgp_show_peer): Fix typo.
2075
20762000-07-11 Akihiro Mizutani <mizutani@dml.com>
2077
2078 * bgp_routemap.c: Add commands for deleting set without argument.
2079
20802000-07-03 Akihiro Mizutani <mizutani@dml.com>
2081
2082 * bgp_zebra.c: Fix redistribute help strings.
2083
20842000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2085
2086 * bgp_route.c (bgp_show): When bgpd works as vtysh server send all
2087 output to vty at once.
2088
20892000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2090
2091 * bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD
2092 tag WORD" command is added.
2093
2094 * bgp_ecommunity.c (ecommunity_vty_out): New function added.
2095
20962000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2097
2098 * bgp_route.c (bgp_show): Fix total number of prefix count bug.
2099
2100 * bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and
2101 negotiation result in "show ip bgp neighbors".
2102
21032000-06-12 Akihiro Mizutani <mizutani@dml.com>
2104
2105 * bgpd.c: Fix help strings.
2106
2107 * bgpd.h: Likewise.
2108
21092000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2110
2111 * bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info
2112 instead of rn. Reported by Akihiro Mizutani <mizutani@dml.com>.
2113
2114 * bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network
2115 A.B.C.D rd RD" is added to address-family vpnv4 unicast node.
2116
2117 * bgp_route.c (bgp_static_set): Set safi to p.safi.
2118
21192000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2120
2121 * bgp_route.c (bgp_show_prefix_list): Change to use bgp_show().
2122 (bgp_show_regexp): Change to use bgp_show().
2123 (show_adj_route): Change to display header.
2124
2125 * bgpd.c (clear_bgp): Set peer->v_start to default value when peer
2126 is cleared manually.
2127
2128 * bgp_route.c (bgp_show_route): New function which display
2129 specific BGP route. Divided from bgp_show().
2130 (bgp_static_delete): Delete all static route.
2131
21322000-06-09 NOGUCHI Kay <kay@v6.access.co.jp>
2133
2134 * bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with
2135 invalid privious fix. Now show_ipv6_bgp and show_ipv6_bgp_route
2136 take care of "show ipv6 bgp [X:X::X:X]". Same change for "show ip
2137 mbgp" and "show ipv6 mbgp".
2138
21392000-06-07 Akihiro Mizutani <mizutani@dml.com>
2140
2141 * bgp_route.c: Fix help strings and command arguments.
2142
21432000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2144
2145 * bgp_ecommunity.c: Include prefix.h
2146
21472000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2148
2149 * bgp_route.h (struct bgp_info_tag): New structure to hold tag
2150 value.
2151
2152 * bgp_route.c (bgp_adj_set): table NULL check is added.
2153 (bgp_adj_unset): Likewise.
2154 (bgp_adj_lookup): Likewise.
2155 (bgp_adj_clear): Likewise.
2156 (route_vty_out): Add SAFI check for nexthop display.
2157 (bgp_withdraw): Add SAFI check for withdraw route.
2158
2159 * Remove all #ifdef MPLS_VPN then include it as default.
2160
2161 * bgpd.c: Temporary disable peer-group command until the
2162 implementation is completed.
2163
2164 * bgp_routemap.c (bgp_route_map_init): Install
2165 route_metric_match_cmd.
2166 (route_match_metric_compile): MED value compile using strtoul.
2167
21682000-06-05 Akihiro Mizutani <mizutani@dml.com>
2169
2170 * bgp_filter.c: Fix help strings. Change REGEXP to LINE. Change
2171 NAME to WORD.
2172
2173 * Change command argument to more comprehensive.
2174
2175 METRIC -> <0-4294967295>
2176 WEIGHT -> <0-4294967295>
2177 LOCAL_PREF -> <0-4294967295>
2178 IP_ADDR -> A.B.C.D
2179 AS -> <1-65535>
2180 AS-PATH-NAME -> WORD
2181 ACCESS_LIST -> WORD
2182 PREFIX_LIST -> WORD
2183 COMMUNITY -> AA:NN
2184 EXT_COMMUNITY -> ASN:nn_or_IP-address:nn
2185 IPv6_ADDR -> X:X::X:X
2186
2187 * bgp_clist.c: Fix help strings.
2188
21892000-06-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2190
2191 * bgpd.c (peer_active): Add new function for check the peer is
2192 active or not.
2193 (neighbor_activate): New command "neighbor PEER activate" and "no
2194 neighbor PEER activate" are added.
2195
2196 * bgp_packet.c: Include bgpd/bgp_mplsvpn.h.
2197
21982000-06-02 Akihiro Mizutani <mizutani@dml.com>
2199
2200 * bgp_clist.c: Fix commuity-list help strings.
2201
2202 * bgp_routemap.c: Fix "set community" help strings. Add #define
2203 SET_STR. Use (unicast|multicast) argument for "set nlri" command.
2204
22052000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2206
2207 * bgp_routemap.c (route_set_community_none_cmd): "set community
2208 none" command is added to route-map.
2209
22102000-06-01 Akihiro Mizutani <mizutani@dml.com>
2211
2212 * bgp_debug.c: Change "show debug" to "show debugging". Now "show
2213 debugging" is not used in VIEW_NODE.
2214
22152000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2216
2217 * bgp_fsm.c (bgp_timer_set): Add check for shutdown flag. This
2218 fix unconditional BGP connection.
2219
2220 * bgpd.c (peer_shutdown): Replace peer_shutdown() with
2221 peer_change_flag_with_reset().
2222
22232000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2224
2225 * bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default
2226 ipv4-unicast" command.
2227
2228 * bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition.
2229
2230 * bgp_filter.c (as_list_delete): Free all AS filter.
2231
2232 * bgp_clist.c (community_list_delete): Free all community entry.
2233
2234 * bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path
2235 access-list NAME".
2236
2237 * bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip
2238 community-list NAME".
2239
22402000-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2241
2242 * bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER
2243 routes" to "show ip bgp PEER received-routes"
2244
22452000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2246
2247 * bgp_ecommunity.c (ecommunity_parse): New file for Extended
2248 Communities attribute.
2249 * bgp_ecommunity.h: Likewise.
2250
22512000-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2252
2253 * bgp_mplsvpn.h: New file for MPLS-VPN.
2254 * bgp_mplsvpn.c: Likewise.
2255
2256 * bgpd.c (bgp_delete): Fix bug of "no router bgp" crush.
2257
22582000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2259
2260 * bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath
2261 missing-as-worst".
2262
22632000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2264
2265 * bgp_routemap.c (match_community): Clarify help of "match
2266 community".
2267
22682000-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2269
2270 * bgp_aspath.c (aspath_cmp_left): Remove debug code.
2271
22722000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2273
2274 * bgp_route.c (bgp_info_cmp): Compare MED only both routes comes
2275 from same neighboring AS.
2276
2277 * bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value.
2278
2279 * bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl().
2280
22812000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * bgp_route.c (bgp_output_filter): When distribute-list's
2284 corresponding access-list does not exist, filter all routes.
2285 (bgp_input_filter): Likewise.
2286
22872000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer.
2290
2291 * bgp_route.c (bgp_info_cmp): Add evaluation of local preference.
2292
22932000-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2294
2295 * bgpd.c (bgp_distribute_update): Add struct access_list *
2296 argument.
2297
22982000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2299
2300 * bgp_clist.c (community_list_dup_check): Add duplicate insertion
2301 check.
2302
2303 * bgp_filter.c (as_list_dup_check): Add duplicate insertion check.
2304
2305 * bgp_route.c (bgp_show): Fix undeclared write variable.
2306
23072000-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2308
2309 * bgp_routemap.c: Add "match ip address prefix-list".
2310
23112000-03-29 Rick Payne <rickp@rossfell.co.uk>
2312
2313 * bgp_aspath.c (aspath_strip_confed): Fix realloc problem.
2314
23152000-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2316
2317 * bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when
2318 the peer status is Connect.
2319
23202000-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2321
2322 * Fix bug of rewritten originator-id.
2323
23242000-01-27 Rick Payne <rickp@rossfell.co.uk>
2325
2326 * bgp_aspath.c (aspath_delimiter_char): New function. Instead of
2327 directly referencing array, search proper AS path delimiter.
2328 (aspath_strip_confed): Strip the confederation stuff from the
2329 front of an AS path.
2330 (aspath_add_left_confed): New function for adding specified AS to
2331 the leftmost AS_CONFED_SEQUENCE.
2332
2333 * bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value
2334 to Cisco compatible.
2335
2336 * bgpd.c (bgp_confederation_id_set): Confederation configuration.
2337 (bgp_confederation_id_unset): Likewise.
2338 (bgp_confederation_peers_check): Likewise.
2339 (bgp_confederation_peers_add): Likewise.
2340 (bgp_confederation_peers_remove): Likewise.
2341 (bgp_confederation_peers_set): Likewise.
2342 (bgp_confederation_peers_unset): Likewise.
2343 (bgp_confederation_peers_print): Likewise.
2344
23452000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2346
2347 * bgpd.c: Introduce peer_change_flag_with_reset() fucntion.
2348
23492000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2350
2351 * bgp_open.c (bgp_open_option_parse): When there is no common
2352 capability send Unsupported Capability error to the peer.
2353
23542000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2355
2356 * bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about
2357 IPv6 unicast.
2358
2359 * bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command.
2360
23612000-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2362
2363 * bgpd.c (neighbor_strict_capability): Add
2364 "strict-capability-match" command.
2365
2366 * bgp_zebra.c (bgp_if_update): Ignore NET127 determining
2367 router-id.
2368
2369 * bgpd.c (peer_override_capability): Add "override-capability"
2370 command.
2371
23721999-12-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2373
2374 * bgp_packet.c (bgp_write): Change status to Idle and set timer
2375 after write failed.
2376
23771999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2378
2379 * bgp_zebra.c (bgp_zebra_announce): Add info->selected check.
2380
23811999-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2382
2383 * bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with
2384 nlri_parse().
2385
23861999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2387
2388 * bgp_fsm.h (BGP_EVENT_DELETE): Macro added.
2389
2390 * bgp_fsm.c (bgp_stop): Clear all event threads of the peer when
2391 the peer is cleared.
2392
2393 * bgp_zebra.c (bgp_nexthop_set): Clear interface index of
2394 link-local address. This is KAME specific problem.
2395
23961999-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2397
2398 * bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a
2399 while. We don't completely detect the link is shared or not at
2400 this moment.
2401
2402 * bgp_packet.c (bgp_notify_send): Make shortcut call of
2403 bgp_write() and bgp_stop().
2404
2405 * bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting
2406 global and link-local address.
2407
24081999-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2409
2410 * bgpd.c (no_neighbor_port): New command added.
2411 (peer_new): Set send_community.
2412
24131999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2414
2415 * bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary().
2416 (show_ip_mbgp_summary): Likewise.
2417 (show_ipv6_bgp_summary): Likewise.
2418 (show_ipv6_mbgp_summary): Add new command.
2419 (peer_free): Free peer->host.
2420 (peer_lookup_by_su): Delete function.
2421 (ipv6_bgp_neighbor): Changed to use peer_remote_as().
2422 (sockunion_vty_out): Function deleted.
2423 (vty_clear_bgp): Use afi instead of family.
2424 Delete old list bgp_list. Use struct newlist *bgplist.
2425 (peer_lookup_by_host): Function deleted.
2426
24271999-12-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2428
2429 * bgpd.h (struct peer_group): New structure added.
2430 (struct peer_conf): New structure added.
2431 (struct peer): Change all prefix_count to unsigned long.
2432
2433 * bgpd.c: Reconstruct all of VTY commands reflect internal
2434 structure change.
2435 Use bgplist instead of bgp_list.
2436 Use peerlist intstead of peer_list.
2437
2438 * bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop
2439 parsing then return immediately.
2440
2441 * bgp_route.c (nlri_parse): When NLRI parse error occured, return
2442 -1.
2443 (nlri_process): Use pcount_v4_{unicast,multicast}.
2444 (nlri_delete): Likewise.
2445
24461999-11-25 Robert Olsson <Robert.Olsson@data.slu.se>
2447
2448 * bgp_routemap.c (route_match_nlri): `match nlri
2449 unicast|multicast' and `set nlri unicast|multicast' command are
2450 added.
2451
24521999-11-22 Robert Olsson <Robert.Olsson@data.slu.se>
2453
2454 * bgpd.c: Add translate-update support.
2455
2456 * bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition.
2457
24581999-11-19 Robert.Olsson@data.slu.se
2459
2460 * bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes.
2461
24621999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2463
2464 * bgp_open.c (bgp_capability_mp): Temporary comment out
2465 SAFI_UNICAST_MULTICAST handling until we know the meanings.
2466
24671999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2468
2469 * bgp_btoa.c: New file added.
2470
24711999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2472
2473 * bgpd.h (struct peer): Add dont_capability flag.
2474 (struct peer): Add override_capability flag.
2475
2476 * bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER
2477 dont-capability-negotiation' added.
2478
24791999-11-12 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2480
2481 * bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses
2482 attribute from non-shared-network peers.
2483
24841999-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2485
2486 * bgp_snmp.c: New file added.
2487
2488 * BGP4-MIB.txt: Updated to the latest Internet-Draft
2489 draft-ietf-idr-bgp4-mib-04.txt.
2490
24911999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2492
2493 * bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'.
2494
2495 * bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with
2496 #ifdef HAVE_MBGPV4.
2497
24981999-11-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2499
2500 * bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no
2501 dump bgp commands.
2502 (config_write_bgp_dump): Write interval value to the
2503 configuration.
2504
25051999-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2506
2507 * bgp_zebra.c: Redistribute route-map support is added.
2508
2509 * bgp_zebra.h: New file added.
2510
25111999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2512
2513 * bgp_dump.c: BGP packet dump routine compatible with MRT.
2514 * bgp_dump.h: BGP packet dump routine compatible with MRT.
2515
2516 * bgp_debug.c: Renamed from bgp_dump.c
2517 * bgp_debug.h: Renamed from bgp_dump.h
2518
25191999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2520
2521 * BGP4-MIB.txt: New file added. Edited version of RFC1657.
2522
25231999-10-25 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2524
2525 * bgp_route.c (bgp_announce): If we're not on a shared network
2526 with the peer and we don't have a link-local next hop, but the
2527 inbound next-hop has a link-local address, don't readvertise it to
2528 our peer.
2529
25301999-10-25 Marc Boucher <marc@mbsi.ca>
2531
2532 * bgp_zebra.c: Add redistribute kernel command.
2533
25341999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2535
2536 * bgp_route.c (bgp_reset): New function added.
2537
2538 * bgpd.conf.sample2: Add IPv6 configuration sample.
2539
25401999-10-24 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2541
2542 * bgp_route.c (ipv6_aggregate_address): Function added.
2543
25441999-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2545
2546 * bgp_packet.c (bgp_update): Unintern aspath, community, cluster
2547 list after parsing BGP update packet.
2548
2549 * bgp_attr.c (bgp_attr_aspath): Intern parsed aspath.
2550 (bgp_attr_community): Intern parsed community.
2551 (bgp_attr_cluster_list): Intern parsed cluster list.
2552
2553 * bgp_routemap.c: Add `set community-additive' command.
2554
25551999-10-21 Alexandr D. Kanevskiy <kad@blackcatlinux.com>
2556
2557 * bgp_routemap.c (route_set_local_pref): Fix bug of setting
2558 attribute flag.
2559
25601999-10-21 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2561
2562 * bgp_route.c (bgp_announce): Add check of IPv6 default route
2563 announcement.
2564
2565 * bgp_packet.c (bgp_update_send): Add BGP announcement logging.
2566
25671999-10-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2568
2569 * `show ip[v6] bgp PREFIX' show uptime of the route.
2570
25711999-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2572
2573 * bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead
2574 of that use AF_INET and AF_INET6 directly.
2575 (vty_clear_bgp): Add new function to support various clear ip bgp
2576 method.
2577
25781999-10-04 Lars Fenneberg <lf@elemental.net>
2579
2580 * bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'.
2581
25821999-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2583
2584 * bgp_routemap.c: Add `match ip prefix-list' and `match ipv6
2585 prefix-list'.
2586
25871999-09-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2588
2589 * bgpd.c (bgp_collision_detect): Add BGP collision detection
2590 function.
2591
25921999-09-26 Blake Meike <bmeike@adero.com>
2593
2594 * bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is
2595 added.
2596
25971999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2598
2599 * bgpd.c (no_neighbor_timers_keepalive): Change MIN to min. Add
2600 min() macro.
2601
26021999-08-19 Rick Payne <rickp@rossfell.co.uk>
2603
2604 * bgp_packet.c (bgp_open): BGP holdtimer bug is fixed. Make BGP
2605 keepalive timer configurable.
2606
26071999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2608
2609 * bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug.
2610
26111999-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2612
2613 * bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list
2614 the peer not all of them.
2615
26161999-08-11 Rick Payne <rickp@rossfell.co.uk>
2617
2618 * bgp_route.c (bgp_announce): Remove MED if its an EBGP peer -
2619 will get overwritten by route-maps.
2620
26211999-08-08 Rick Payne <rickp@rossfell.co.uk>
2622
2623 * bgp_routemap.c: Multi protocol route-map modification.
2624
26251999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2626
2627 * bgp_route.c: Set network statement route's origin attribute as
2628 igp.
2629
2630 * bgp_zebra.c: Set redistribute route's origin attribute as
2631 incomplete.
2632
2633 * bgp_route.c (bgp_info_cmp): Add attribute existance check,
2634 origin attribute check, BGP peer type check.
2635
26361999-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2637
2638 * bgp_route.c (bgp_peer_delete): Reselect of IPv6 route.
2639
26401999-07-29 Rick Payne <rickp@rossfell.co.uk>
2641
2642 * Changed route-maps to behave in a more cisco-like fashion
2643
26441999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2645
2646 * bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed.
2647 When multiple route to the same destination exist, bgpd try to
2648 announce the information to stopped peer. Then add orphan write
2649 thread is added. This cause many strange behavior of bgpd.
2650 Reported by Georg Hitsch <georg@atnet.at>.
2651
26521999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2653
2654 * bgpd.c: Change peer's A.B.C.D to PEER.
2655
26561999-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2657
2658 * bgp_route.c (bgp_announce): Add hack for link-local nexthop.
2659
2660 * bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from
2661 local address.
2662
26631999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2664
2665 * bgp_packet.c (bgp_open): Holdtime fetch bug is fixed. Reported
2666 by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>.
2667
26681999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2669
2670 * bgp_fsm.c (fsm_holdtime): Don't close file descriptor in
2671 fsm_holdtime ().
2672
26731999-07-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2674
2675 * bgp_routemap.c: Add `set atomic-aggregate' command.
2676
26771999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2678
2679 * bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop"
2680 to "ip next-hop".
2681
26821999-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2683
2684 * bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp'
2685 added.
2686
26871999-07-01 Rick Payne <rickp@rossfell.co.uk>
2688
2689 * bgp_zebra.c (zebra_init): Install standard commands to
2690 ZEBRA_NODE.
2691
26921999-06-28 Rick Payne <rickp@rossfell.co.uk>
2693
2694 * bgpd.c (bgp_delete): bgp peer deletion bug is fixed.
2695
26961999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2697
2698 * bgpd.c: Add neighbor update-source command as ALIAS to
2699 neighbor_interface.
2700
27011999-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2702
2703 * bgp_attr.c (bgp_packet_attribute): Send community attribute when
2704 send_community flag is set.
2705
2706 * bgpd.h (struct peer): Add send_community flag.
2707
27081999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2709
2710 * bgpd.c (router_bgp): router bgp's argument changed from AS_NO to
2711 <1-65535>.
2712
27131999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2714
2715 * bgp_route.h (struct bgp_info): Add subtype for BGP route type.
2716
27171999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2718
2719 * bgp_community.c (community_merge): Function added.
2720
27211999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2722
2723 * bgp_clist.c: New file.
2724 * bgp_clist.h: New file.
2725
2726 * bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco
2727 compatibility.
2728 (COMMUNITY_NO_ADVERTISE): Fix typo.
2729
27301999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2731
2732 * bgp_routemap.c: Add `set weight WEIGHT' command.
2733
2734 * bgpd.c: Remove all_digit_check function. Instead of that use
2735 all_digit function in lib/prefix.c.
2736
2737 * bgp_routemap.c (bgp_route_map_init): Install
2738 no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd
2739 element to the RMAP_NODE.
2740
27411999-05-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2742
2743 * bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char
2744 inside aspath_make_str function.
2745 (aspath_prepend): New function is added for AS path prepend.
2746 (aspath_make_str_count): Renamed from aspath_make_str. AS path
2747 count is set to the structure.
2748 (aspath_merge): New function.
2749
27501999-05-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2751
2752 * bgp_zebra.c (redistribute_bgp): Add new DEFUN.
2753 (no_redistribute_bgp): Likewise.
2754 (router_zebra): Semantics changed. Now 'router zebra' is default
2755 behavior of bgpd.
2756
27571999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2758
2759 * bgp_routemap.c: Add some commands to bgp route-map.
2760 match ip next-hop: New command.
2761 match metric: New command.
2762 set metric: Doc fix.
2763 set local-preference: Add DEFUN.
2764
27651999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2766
2767 * bgp_main.c (signal_init): SIGTERM call sigint.
2768 (sigint): Loggging more better message.
2769
27701999-05-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2771
2772 * bgp_attr.c (bgp_packet_attribute): AS path attribute extended
2773 length bit check is added.
2774
27751999-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2776
2777 * bgp_routemap.c (bgp_route_map_init): Call route_map_install_set
2778 function with route_set_local_pref_cmd argument.
2779 (no_match_aspath): Function added.
2780 (route_set_metric): Set attribute flag bit.
2781
2782 * bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP
2783 packet.
2784
27851999-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2786
2787 * bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers
2788 holdtime' command is added.
2789
2790 * bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define.
2791
2792 * bgpd.c (bgp_prefix_list_set): New function added.
2793 (bgp_prefix_list_unset): Likewise.
2794 (bgp_prefix_list_update): Likewise.
2795 (show_ip_bgp_neighbors): prefix-list information display.
2796
27971999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2798
2799 * bgpd.c (bgp_delete): Function added for `no router bgp'.
2800
28011999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2802
2803 * bgp_dump.c (bgp_dump_attr): Add originator_id display.
2804
2805 * bgpd.c (bgp_router_id): Even when address is malformed set the
2806 value to configuration bug fixed.
2807 (no_bgp_router_id): New function.
2808 (no_bgp_cluster_id): New function.
2809
28101999-05-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2811
2812 * bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR.
2813
28141999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2815
2816 * bgp_route.c (bgp_announce): Add route reflector check.
2817
28181999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2819
2820 * bgpd.c (bgp_cluster_id): Add function for route reflector.
2821 (neighbor_route_reflector_client): Likewise.
2822 (no_neighbor_route_reflector_client): Likewise.
2823
2824 * bgpd.h (struct bgp ): Add cluster for route reflector.
2825
2826 * bgp_route.c (show_ip_bgp_prefix_list): New command is added.
2827
28281999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2829
2830 * Makefile.am (noinst_HEADERS): Add bgp_filter.h
2831
2832 * bgp_aspath.c (aspath_undup): Function deleted. aspath_free ()
2833 has same functionality.
2834
2835 * bgp_filter.h: New file.
2836
2837 * bgp_aspath.c (aspath_unintern): Rename aspath_free () to
2838 aspath_unintern ()
2839 (aspath_free): New function.
2840
28411999-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2842
2843 * bgp_aspath.c (aspath_aggregate): Function added.
2844
2845 * bgp_aspath.h (aspath_aggregate): Prototype added.
2846
2847 * bgp_aspath.c (aspath_empty_aspath): New argument
2848 gated_dont_eat_flag is added.
2849
28501999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2851
2852 * bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6.
2853
28541999-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2855
2856 * bgp_route.c (aggregate_address): Function added.
2857
2858 * bgp_zebra.c (zebra_read): Change log to zlog.
2859
28601999-04-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2861
2862 * Makefile.am (noninst_HEADERS): Added for make dist.
2863
28641999-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2865
2866 * aspath_regex.c: Removed from distribution.
2867
28681999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2869
2870 * bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment
2871 bug fixed.
2872
28731999-04-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2874
2875 * bgp_aspath.c (aspath_add_left): Fix empty aspath bug. Reported
2876 by kad@gibson.skif.net.
2877
2878 * bgp_regex.[ch]: New file added.
2879
2880
28811999-04-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2882
2883 * bgp_filter.c: New file added.
2884
28851999-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2886
2887 * bgp_aspath.c (aspath_empty_aspath): Change for peering with
2888 gated.
2889
28901999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2891
2892 * bgp_main.c (main): Default loggin method changed from syslog to
2893 stdout.
2894
28951999-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2896
2897 * bgp_route.c: Delete obsolete default attribute DEFUN.
2898
28991999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2900
2901 * bgp_attr.c: Make attribute structure put into attribute hash.
2902
29031999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2904
2905 * bgp_view.c : Delete file.
2906
29071999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2908
2909 * bgp_routemap.c (bgp_apply_route_map): Add prefix argument.
2910
2911 * bgp_route.h (struct bgp_info): Add bgp_info structre. I'll
2912 replace bgp_route with this.
2913
2914 * bgp_routemap.c (route_match_ip_address): Fix bug of passing non
2915 prefix value to access_list_apply().
2916
2917 * bgpd.conf.sample: Add route-map sample.
2918 Delete obsolete default-attr statements.
2919
2920 * bgp_packet.c: Use stream_fifo for packet queueing.
2921
29221999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2923
2924 * bgp_aspath.c (aspath_add_left): add non empty aspath treatment.
2925
2926 * bgp_main.c: include unistd.h for daemon().
2927
2928 * bgp_route.c (nlri_process): add IPv6 table lookup.
2929
2930 * bgp_attr.c (route_parse_ipv6): call nlri_process().
2931 (attr_make): Obsolete function attr_make deleted.
2932
29331999-02-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2934
2935 * bgp_aspath.c (aspath_add_left): change function name from
2936 aspath_add_leftmost_as().
2937
29381999-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2939
2940 * bgp_aspath.c: add aspath_add_leftmost_as ().
2941
29421999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2943
2944 * syslog support added
2945
29461999-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2947
2948 * bgpd.c: DEFUN (neighbor_nexthop): deleted.
2949 DEFUN (neighbor_distribute_list): added.
2950
29511999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2952
2953 * bgpd.h (struct peer ): header_buf and read_buf is removed.
2954
2955 * bgp_peer.[ch]: Deleted. Peer related functions are merged to
2956 bgpd.c
2957
2958 * bgp_network.c: New file.
2959 * bgp_network.h: New file.
2960
2961 * bgp_packet.h: New file.
2962
29631999-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2964
2965 * bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is
2966 buffered.
2967
29681999-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2969
2970 * bgp_packet.c: New file.
2971
29721998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2973
2974 * bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c.
2975
2976 * `show ip bgp' bug fixed.
2977 * aspath_log (): Remove argument logfp.
2978
29791998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2980
2981 * bgp_fsm.h: New file.
2982
29831998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2984
2985 * bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c
2986 bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c
2987 bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c,
2988 bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes.
2989
29901998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2991
2992 * bgpd.c (bgp_config_write): Delete vector v argument.
2993
29941998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2995
2996 * bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros.
2997
29981998-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2999
3000 * bgp_radix.[ch]: removed.
3001
30021998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
3003
3004 * bgp_main.c: ifdef HYDRANGEA -> ifdef KAME
3005
30061998-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3007
3008 * bgp_dump.c: delete nroute().
3009
30101998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3011
3012 * bgp_aspath.c: HAVE_CONFIG_H typo :-)
3013 * bgpd.h: Modify for compile on Solaris.
3014 * bgp_aspath.h: likewize
3015 * bgp_community.h: likewize
3016 * bgp_routemap.c: likewize
3017
30181998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
3019
3020 * bgpd.h: Modify for compile on Solaris.
3021 * bgp_aspath.h: likewize
3022
30231998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3024
3025 * routemap.[ch]: move to ../lib directory.
3026
30271998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3028
3029 * routemap.c (route_map_apply): add function.
3030
30311998-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3032
3033 * routemap.h: add file.
3034
3035 * bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP}
3036
30371998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3038
3039 * Makefile.am: sysconfdir_DATA added.
3040
30411998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3042
3043 * bgp_dump.c: add `debug bgp fsm'
3044 add `no debug bgp fsm'
3045 add `show debug bgp'
3046 * bgp_open.c: File added.
3047
30481998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3049
3050 * .cvsignore: File added.
3051
30521998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3053
3054 * bgp_community.[ch]: File added.
3055
30561998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3057
3058 * bgpd now use lib/thread.[ch].
3059
30601998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3061
3062 * bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command.
3063
3064 * bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30.
3065
30661997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3067
3068 * bgp_vty.c: bgp_vty.c deleted.
3069
3070 * bgpd.c (config_write_neighbor): add ebgp-multihop command.
3071
30721997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3073
3074 * bgp_fsm.c: [-p bgp_port] and [-P vty_port] works
3075
30761997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3077
3078 * bgp_vty.c: new file.
3079
3080 * bgp_attr.c: add new logging system.
3081
30821997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3083
3084 * Change all inet_addr call into inet_aton.
3085
30861997-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3087
3088 * bgp_radix.c: change radix_peer_delete
3089
30901997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3091
3092 * bgp_aspath.c: move AS_TOKEN_??? definition from header to c source.
3093
30941997-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3095
3096 * bgp_dump.c (bgp_log_route): add dump_attr function
3097
30981997-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3099
3100 * bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{'
3101 * bgp_dump.c (bgp_log_route): change logfile format.
3102
31031997-08-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3104
3105 * bgp_open.c (bgp_open): move bgp_open function from bgpd.c
3106 * bgp_attr.c (community_str2com): add community value generation
3107 * bgp_attr.h: add SAFI definition for BGP-4+
3108
31091997-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3110
3111 * bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter
3112 * Makefile.in: add bgp_open.o, delete bgp_loop.o
3113 * bgp_open.c: newfile which manages BGP Open message
3114 * bgp_loop.c: this file is merged with bgp_fsm.c
3115 * bgp_radix.c (radix_add): radix_add() now return route_t instead
3116 of int
3117 (bgp_sim): now we can read update & withdraw from file
3118 * bgp_route.c: add route_free() call into route_parse etc.
3119
31201997-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3121
3122 * bgp_radix.c: Radix code is completely rewritten. It has better
3123 memory treatment than old one.
3124
31251997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3126
3127 * bgp_route.c: route_alloc for route struct allocation statistics.
3128 * bgpd.c (bgp_make_update): now we cann announce MED attribute.
3129 * bgp_aspath.c (aspath_print_all): change aspath_print_all output
3130 format.
3131
31321997-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3133
3134 * bgp_term.c (term_parse): add command : show asstat, show ashash
3135 * bgp_aspath.c: aspath_cmp bug fix
3136 (aspath_print_all): add aspath_print_all ();
3137 * bgp_peer.h: delete rlist element from struct peer.
3138
31391997-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3140
3141 * bgp_aspath.c: completely rewritten.
3142 * bgp_aspath.h: completely rewritten.
3143 add AsPath, AsSegment structure
3144 add AS_SET treatment
3145 change Hash codes
3146
31471997-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3148
3149 * bgp_attr.h: add Attribute flags defines
3150 * bgp_route.c: delete rlist related functions
3151 * bgp_aspath.c (as_origin): add as_origin function
3152 (aspath_print): move from bgp_dump.c and add support of AS_SET
3153 change Hash related function names.
3154
31551997-08-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3156
3157 * bgp_aspath.h: add next entry, delete rlist entry from struct aspath
3158
31591997-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3160
3161 * bgp_aspath.c (as_sort): add function as_sort
3162 * bgp_aspath.h: add IBGP, EBGP
3163