blob: 78a22e67046485b5e2f484cb191d36b0ffd2901f [file] [log] [blame]
Paul Jakmaaa94ca82006-02-18 10:49:04 +000012006-02-18 Paul Jakma <paul.jakma@sun.com>
2
3 * bgp_routemap.c: (route_set_community) Quick, very hacky, fix
4 for the set-community leak, bug #89. True fix will be to
5 detangle the web of *_intern caching and provide saner object
6 caching for Quagga, future work.
7
paul902212c2006-02-05 17:51:19 +000082006-02-05 Paul Jakma <paul.jakma@sun.com>
9
10 * bgp_route.h: Add BGP_INFO_COUNTED to track whether
11 prefix has been counted or not.
12 * bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
13 centralise inc/dec of prefix-count,
14 (bgp_rib_remove) Remove pcount decrement, use helper.
15 (bgp_rib_withdraw) ditto, additionally use previous function
16 too.
17 (bgp_update_main) Use pcount helpers.
18 (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
19 clearing.
paul3fff6ff2006-02-05 17:55:35 +000020 * bgp_aspath.c: (aspath_gettoken) fix gcc warning about
21 possible uninitialised usage.
paul902212c2006-02-05 17:51:19 +000022
paul306d8892006-02-02 17:50:19 +0000232006-02-02 Paul Jakma <paul.jakma@sun.com>
24
25 * bgp_route.c: (bgp_{clear_node,process}_queue_init) delay
26 field is removed from workqueue spec.
27
paule8e19462006-01-19 20:16:55 +0000282006-01-19 Paul Jakma <paul.jakma@sun.com>
29
30 * (general) various miscellaneous compiler warning fixes.
31 Remove redundant break statements from switch clauses
32 which return.
33 return from main, not exit, cause it annoys SOS.
34 Remove stray semi-colons which cause empty-statement
35 warnings.
36
pauld3092e72006-01-17 17:33:46 +0000372006-01-17 Paul Jakma <paul.jakma@sun.com>
38
39 * bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.
40 (zlookup_query_ipv6) ditto.
41 (bgp_import_check) ditto.
42
paul02335422006-01-16 11:13:27 +0000432006-01-16 Paul Jakma <paul.jakma@sun.com>
44
45 * bgp_aspath.c: (assegment_append_asns) XREALLOC can return
46 NULL theoretically, take care not to lose the allocated data.
47 (aspath_hash_alloc) aspath_dup already set the aspath
48 string - fix leak.
49 (aspath_parse) aspath_hash_alloc dupes the entire aspath,
50 including segments, but we forgot to free the temporary
51 assegment.
paul8fdc32a2006-01-16 12:01:29 +000052 (aspath_snmp_pathseg) move the static stream pointer out to
53 file scope, so it can be freed.
54 (aspath_finish) new function, free aspath resources.
55 * bgp_aspath.h: (aspath_finish) export.
paul02335422006-01-16 11:13:27 +000056
paul37c38302006-01-10 22:15:45 +0000572006-01-10 Juris Kalnins <juris@mt.lv>
58
59 * bgpd.h: (bgp_router_id_unset) ex-function, remove.
60
paulad727402005-11-23 02:47:02 +0000612005-11-23 Paul Jakma <paul.jakma@sun.com>
62
63 * bgp_aspath.c: (assegments_parse) should be static
64
652005-11-23 Juergen Kammer <j.kammer@eurodata.de>
66
67 * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
68 where one or both paths are empty.
69
paul0fb58d52005-11-14 14:31:49 +0000702005-11-14 Paul Jakma <paul.jakma@sun.com>
71
72 * bgp_route.c: (bgp_process_rsclient) convert to new workqueue
73 specs and shut up gcc, which complains about cast from void
74 via function parameters, for some dumb reason. Do the cast
75 inside the function instead.
76 (bgp_process_main,bgp_processq_del) ditto.
77 (bgp_clear_route_node) ditto.
78 (bgp_clear_node_queue_del) ditto.
79
paul41200852005-11-03 12:52:18 +0000802005-11-03 Paul Jakma <paul.jakma@sun.com>
81
82 * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via
83 the struct bgp_damp_info, no need to guess by using
84 bgp_get_default().
85
ajsf52d13c2005-10-01 17:38:06 +0000862005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
87
88 * bgp_vty.c: (bgp_config_write_redistribute) Use new library function
89 zebra_route_string instead of a local hard-coded table.
90
jardin2d74db52005-10-01 00:07:50 +0000912005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
92
93 * bgp_packet.c: fix compilation when DEBUG is used.
94
paul1f8ae702005-09-09 23:49:49 +0000952005-09-10 Paul Jakma <paul.jakma@sun.com>
96
paulfe69a502005-09-10 16:55:02 +000097 * Makefile.am: bgpd shouldn't list libgp's sources as its own.
98 Use LDADD.
99 * bgp_aspath.h:
100 (struct assegment) New struct, abstract representation of a
101 list of AS_PATH segments and the contained ASNs.
102 (struct aspath) Remove the raw-data related
103 fields, reference the abstract struct assegment instead.
104 Remove several other computed fields, it's just a
105 headache to maintain them and they're cheap to compute from
106 struct assegment.
107 (aspath_parse) parse a stream, not a pointer to raw data.
108 (aspath_count_{hops,confeds,size}) helpers to access
109 information formerly directly contained in struct aspath.
110 (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants
111 to be able to output hex representation of raw data.
112 * bgp_aspath.c: (general) partial-rewrite. Store aspath data
113 as an abstract singly-linked list of abstract segments,
114 rather than storing the raw data, and parsing it each and
115 every time. Remove several count/size fields which are cheap
116 to compute from the abstract segment structure.
117 (global) Include stream.h, needed for aspath_parse, and
118 others. Couple of helper macros added.
119 (struct assegment_header) Just the header, and only the
120 header.
121 (assegment_data_{new,free}) convenience functions for
122 AS_SEG_DATA allocation, the dynamic, per-segment array of
123 ASNs.
124 (assegment_{new,free,free_all,dup,dup_all}) convenience
125 functions for creating struct assegments. The _all forms will
126 follow the entire chain of segments from the given segment.
127 (assegment_prepend_asns) new function, prepend an ASN N times
128 to segment.
129 (assegment_append_asns) Append a list (array) of ASNs to
130 segment.
131 (int_cmp) convenience function for the aspath hash.
132 (assegment_normalise) new function. Normalise the given
133 segment chain to meet expectations of Quagga, and to
134 eliminate differing raw representations of the same paths.
135 Merge 'runs' of SEQUENCEs into one segment as our internal
136 segment is not limited by the protocol AS_PATH segment
137 length. Sort ASNs in SETs.
138 (aspath_new) Take void argument to quell warnings. Use the
139 assegment convenience functions.
140 (assegment_count_{asns,confeds,hops}) new functions to
141 compute at runtime values previously held in struct aspath.
142 (aspath_size) ditto.
143 (aspath_make_str_count) rewritten to stringify new
144 representation, and to be slightly easier to understand
145 hopefully.
146 (aspath_str_update) convenience function, update the aspath
147 str. Should investigate removing maintained string from
148 struct aspath, just run-time compute it, as per other fields.
149 It's just a maintenance headache, would save noticeable
150 amount of RAM with possibly not much extra run-time cost.
151 (aspath_dup) use the assegment dup functions.
152 (aspath_hash_alloc) Take void * argument to satisfy gcc. Use
153 the proper helper functions to dup data.
154 (assegments_parse) new function. parse raw AS_PATH data into
155 struct assegments. Normalise and return the head of the list.
156 (aspath_parse) Parse a stream, not pointer to raw data and
157 use assegments_parse to do it.
158 (assegment_data_put) Write out a single segment data in protocol
159 form to stream.
160 (assegment_header_put) ditto but for segment header.
161 (aspath_put) new function. As per previous but for an entire
162 struct aspath.
163 (aspath_snmp_pathseg) wrapper around aspath_put for
164 bgp_snmp.c. Uses a static buffer sadly.
165 (aspath_aggregate_as_set_add) rewritten to use assegments.
166 (aspath_aggregate) ditto
167 (aspath_{firstas,loop,private_as}_check) ditto
168 (aspath_{merge,prepend,add_one_as}) ditto
169 (aspath_cmp_left{_confed}) ditto
170 (aspath_delete_confed_seq) ditto, plus fixed to properly
171 delete all leading confed segments.
172 (aspath_as_add) Just use assegment_append_asns.
173 (aspath_segment_add) updated to use assegments.
174 (enum as_token) Add values for confeds
175 (aspath_gettoken) Add support for confeds
176 (aspath_str2aspath) ditto
177 (aspath_key_make) updated to use as_segments. Also, add
178 segment type into the hash value as appropriate.
179 (aspath_cmp) updated to use as_segments.
180 (aspath_print) don't segfault on NULL argument.
181 * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream
182 now. No need for manual forwarding of stream.
183 (bgp_packet_attribute) empty aspath is now denoted by NULL
184 segment field, length is gone.
185 Use aspath_size() to determine size.
186 (bgp_attr_init) Fix declaration, explicitely specify void
187 arg.
188 (bgp_dump_routes_attr) Use aspath_size() to determine size.
189 * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions.
190 (bgp_rib_withdraw) remove unused variable. Use
191 aspath_count_hops.
192 * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use
193 aspath_snmp_pathseg to get the representation.
194
1952005-09-10 Paul Jakma <paul.jakma@sun.com>
196
paul1f8ae702005-09-09 23:49:49 +0000197 * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static
198 function declarations shouldn't be inside functions.
199 * bgp_dump.c: (bgp_dump_interval_add) ditto.
200
hassob7395792005-08-26 12:58:38 +00002012005-08-26 Hasso Tepper <hasso at quagga.net>
202
203 * bgp_route.c: Third (?) attempt to fix best selection breakage
204 introduced long time ago with route server patch. Hopefully
205 it's last case to fix - route-server client not in peer group.
206
paul25ffbdc2005-08-22 22:42:08 +00002072005-08-22 Hugo Santos <hsantos@av.it.pt>
208
209 * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
210 commands and BGP_IPV6M_NODE.
211
paulb40d9392005-08-22 22:34:41 +00002122005-08-22 Paul Jakma <paul.jakma@sun.com>
213
214 * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED.
215 BGP_INFO_VALID is already overloaded, don't care to do same thing
216 to STALE or HISTORY.
217 * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a
218 route which should generally be ignored.
219 * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather
220 than doing actual work, so that bgp_process (called directly,
221 or indirectly via the scanner) can catch withdrawn routes.
222 (bgp_info_reap) Actually remove the route, what bgp_info_delete
223 used to do, only for use by bgp_process.
224 (bgp_best_selection) reap any REMOVED routes, other than the old
225 selected route.
226 (bgp_process_rsclient) reap the old-selected route, if appropriate
227 (bgp_process_main) ditto
228 (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with
229 each other. Don't play games with the VALID flag, bgp_process
230 is async now, so it didn't make a difference anyway.
231 Remove the 'force' argument from bgp_rib_withdraw, withdraw+force
232 is equivalent to bgp_rib_remove. Update all its callers.
233 (bgp_update_rsclient) bgp_rib_withdraw and force set is same as
234 bgp_rib_remove.
235 (route_vty_short_status_out) new helper to print the leading
236 route-status string used in many command outputs. Consolidate.
237 (route_vty_out, route_vty_out_tag, damp_route_vty_out,
238 flap_route_vty_out) use route_vty_short_status_out rather than
239 duplicate.
240 (route_vty_out_detail) print state of REMOVED flag.
241 (BGP_SHOW_SCODE_HEADER) update for Removed flag.
242
hassoe279c7a2005-08-03 17:23:20 +00002432005-08-03 Hasso Tepper <hasso at quagga.net>
244
245 * bgp_routemap.c: Revert part of leaking communities fix commited in
246 2005-05-27. While ecommunity fix seems to be correct, community case
247 isn't.
248
paul94f2b392005-06-28 12:44:16 +00002492005-06-28 Paul Jakma <paul.jakma@sun.com>
250
251 * (global) The great bgpd extern and static'ification.
252 * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code
253 (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison
254 warnings.
255 * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these
256 used by various files which had their own private declarations,
257 in the case of mplsvpn - incorrect.
258
paule210cf92005-06-15 19:15:35 +00002592005-06-15 Paul Jakma <paul.jakma@sun.com>
260
261 * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
262 possible to terminate bgpd before workqueues were setup, causing
263 an abort/crash. Reported by Ashish Mehta of Sun.
264
paul200df112005-06-01 11:17:05 +00002652005-06-01 Paul Jakma <paul.jakma@sun.com>
266
267 * (general) refcount struct peer and bgp_info, hence allowing us
268 add work_queues for bgp_process.
269 * bgp_route.h: (struct bgp_info) Add 'lock' field for refcount.
270 Add bgp_info_{lock,unlock} helper functions.
271 Add bgp_info_{add,delete} helpers, to remove need for
272 users managing locking/freeing of bgp_info and bgp_node's.
273 * bgp_table.h: (struct bgp_node) Add a flags field, and
274 BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of
275 nodes.
276 * bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock
277 peer reference as appropriate.
278 * bgp_damp.c: Remove its internal prototypes for
279 bgp_info_delete/free. Just use bgp_info_delete.
280 * bgpd.h: (struct bgp_master) Add work_queue pointers.
281 (struct peer) Add reference count 'lock'
282 (peer_lock,peer_unlock) New helpers to take/release reference
283 on struct peer.
284 * bgp_advertise.c: (general) Add peer and bgp_info refcounting
285 and balance how references are taken and released.
286 (bgp_advertise_free) release bgp_info reference, if appropriate
287 (bgp_adj_out_free) unlock peer
288 (bgp_advertise_clean) leave the adv references alone, or else
289 call bgp_advertise_free cant unlock them.
290 (bgp_adj_out_set) lock the peer on new adj's, leave the reference
291 alone otherwise. lock the new bgp_info reference.
292 (bgp_adj_in_set) lock the peer reference
293 (bgp_adj_in_remove) and unlock it here
294 (bgp_sync_delete) make hash_free on peer conditional, just in
295 case.
296 * bgp_fsm.c: (general) document that the timers depend on
297 bgp_event to release a peer reference.
298 (bgp_fsm_change_status) moved up the file, unchanged.
299 (bgp_stop) Decrement peer lock as many times as cancel_event
300 canceled - shouldnt be needed but just in case.
301 stream_fifo_clean of obuf made conditional, just in case.
302 (bgp_event) always unlock the peer, regardless of return value
303 of bgp_fsm_change_status.
304 * bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's.
305 (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs
306 along with a comment on it.
307 * bgp_route.c: (general) Add refcounting of bgp_info, cleanup
308 some of the resource management around bgp_info. Refcount peer.
309 Add workqueues for bgp_process and clear_table.
310 (bgp_info_new) make static
311 (bgp_info_free) Ditto, and unlock the peer reference.
312 (bgp_info_lock,bgp_info_unlock) new exported functions
313 (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion,
314 taking care of reference counts.
315 (bgp_info_delete) do the opposite of bgp_info_add.
316 (bgp_process_rsclient) Converted into a work_queue work function.
317 (bgp_process_main) ditto.
318 (bgp_processq_del) process work queue item deconstructor
319 (bgp_process_queue_init) process work queue init
320 (bgp_process) call init function if required, set up queue item
321 and add to queue, rather than calling process functions directly.
322 (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts
323 (bgp_rib_withdraw) ditto
324 (bgp_update_rsclient) let bgp_info_add manage refcounts
325 (bgp_update_main) ditto
326 (bgp_clear_route_node) clear_node_queue work function, does
327 per-node aspects of what bgp_clear_route_table did previously
328 (bgp_clear_node_queue_del) clear_node_queue item delete function
329 (bgp_clear_node_complete) clear_node_queue completion function,
330 it unplugs the process queues, which have to be blocked while
331 clear_node_queue is being processed to prevent a race.
332 (bgp_clear_node_queue_init) init function for clear_node_queue
333 work queues
334 (bgp_clear_route_table) Sets up items onto a workqueue now, rather
335 than clearing each node directly. Plugs both process queues to
336 avoid potential race.
337 (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage
338 bgp_info refcounts.
339 (bgp_static_update_rsclient) ditto
340 (bgp_static_update_main) ditto
341 (bgp_static_update_vpnv4) ditto, remove unneeded cast.
342 (bgp_static_withdraw) see bgp_static_withdraw_rsclient
343 (bgp_static_withdraw_vpnv4) ditto
344 (bgp_aggregate_{route,add,delete}) ditto
345 (bgp_redistribute_{add,delete,withdraw}) ditto
346 * bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer
347 reference
348 (peer_rsclient_unset_vty) ditto, but unlock same reference
349 * bgpd.c: (peer_free) handle frees of info to be kept for lifetime
350 of struct peer.
351 (peer_lock,peer_unlock) peer refcount helpers
352 (peer_new) add initial refcounts
353 (peer_create,peer_create_accept) lock peer as appropriate
354 (peer_delete) unlock as appropriate, move out some free's to
355 peer_free.
356 (peer_group_bind,peer_group_unbind) peer refcounting as
357 appropriate.
358 (bgp_create) check CALLOC return value.
359 (bgp_terminate) free workqueues too.
360
hasso033e8612005-05-28 04:50:54 +00003612005-05-28 Hasso Tepper <hasso at quagga.net>
362
363 * bgp_routemap.c: Sync set_metric_addsub_cmd with ripd.
364
hasso54a6ed32005-05-26 22:12:33 +00003652005-05-27 Hasso Tepper <hasso at quagga.net>
366
hasso70601e02005-05-27 03:26:57 +0000367 * bgp_routemap.c: Stop leaking communities.
368
3692005-05-27 Hasso Tepper <hasso at quagga.net>
370
hasso54a6ed32005-05-26 22:12:33 +0000371 * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
372 deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
373 lists.
374
3752005-05-26 Hasso Tepper <hasso at quagga.net>
hassob6b7cff2005-05-26 08:29:07 +0000376
377 * bgpd.c: Don't crash while deleting list of peer-groups.
378
hassob5f29602005-05-25 21:00:28 +00003792005-05-25 Hasso Tepper <hasso at quagga.net>
380
381 * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
382 neighbor x.x.x.x routemap [export|import] commands work again.
383
paula94feb32005-05-23 13:17:29 +00003842005-05-23 Paul Jakma <paul@dishone.st>
385
386 * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change
paul00d252c2005-05-23 14:19:54 +0000387 * bgp_fsm.h: Add extern qualifier to exported functions
388 * bgp_nexthop.c: add static to nexthop specific globals
389 * *.h: Add guard defines
paula94feb32005-05-23 13:17:29 +0000390
paul22db9de2005-05-19 01:50:11 +00003912005-05-19 Paul Jakma <paul@dishone.st>
392
393 * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
394 * bgp_network.c: (bgp_getsockname) ditto
paule83e2082005-05-19 02:12:25 +0000395 (bgp_accept) use XSTRDUP
paul22db9de2005-05-19 01:50:11 +0000396 * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
397 remove one sockunion_free.
paule83e2082005-05-19 02:12:25 +0000398 * bgpd.c: (peer_delete) ditto.
399 XFREE the correct memtype, not free.
400 (peer_create) use XSTRDUP
401 * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
402 (various) update -> s/bgp_stream_dup/stream_dup
403
paul22db9de2005-05-19 01:50:11 +0000404
ajs634f9ea2005-04-11 15:51:40 +00004052005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
406
407 * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
408 The 2nd arg to zebra_redistribute_send is now zclient instead of
409 zclient->sock.
410
hassoa8a80d52005-04-09 13:07:47 +00004112005-04-09 Akihiro Mizutani <mizutani@net-chef.net>
412
413 * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
414 family node.
415
hasso68118452005-04-08 15:40:36 +00004162005-04-08 Martin Ling <martin-quagga@earth.li>
417
418 * bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
419 the length of confederation path segments to be included during the
420 as-path length check in the best path decision.
421
ajsd2fc8892005-04-02 18:38:43 +00004222005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
423
424 * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
425 to IFINDEX_INTERNAL.
426
hasso6cf159b2005-03-21 10:28:14 +00004272005-03-21 Hasso Tepper <hasso at quagga.net>
428
429 * bgp_route.c: Don't crash while clearing route tables if there is
430 no particular afi/safi configured.
431
hasso338b3422005-02-23 14:27:24 +00004322005-02-23 Hasso Tepper <hasso at quagga.net>
433
434 * bgp_route.c: Make reannouncing prefixes with changed attributes
435 work again.
436
hasso6ffd2072005-02-02 14:50:11 +00004372005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
438
hassodd4c5932005-02-02 17:15:34 +0000439 * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
440 transparent-nexthop" commands.
441
4422005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
443
hassoc1643bb2005-02-02 16:43:17 +0000444 * bgp_routemap.c: New route-map command - "match ip route-source".
445
4462005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
447
hassofee6e4e2005-02-02 16:29:31 +0000448 * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
449 community-list cleanup.
450
4512005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
452
hasso6ffd2072005-02-02 14:50:11 +0000453 * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
454 -> "disable-connected-check".
455
4562005-02-02 Akihiro Mizutani <mizutani@net-chef.net>
hasso93406d82005-02-02 14:40:33 +0000457
458 * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
459 bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
460 graceful-restart" commands added. Show numbers of individual
461 messages in "show ip bgp neighbor" command. Final pieces of graceful
462 restart.
463
hassof4184462005-02-01 20:13:16 +00004642005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
465
hassoc9502432005-02-01 22:01:48 +0000466 * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
467 capability route-refresh" commands. Route refresh capability is sent
468 anyway now. Preserve dummy deprecated commands.
469
4702005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
471
hasso3d515fd2005-02-01 21:30:04 +0000472 * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
473 draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
474 version" command as deprecated.
475
4762005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
477
hasso0a486e52005-02-01 20:57:17 +0000478 * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
479 maximum-prefix limit" feature support.
480
4812005-02-01 Akihiro Mizutani <mizutani@net-chef.net>
482
hassof4184462005-02-01 20:13:16 +0000483 * bgp_nexthop.c: Improve debug.
484 * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
485 function.
486 * bgp_packet.c: MP AFI_IP update and withdraw parsing.
487 * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
488 is better place to log about peer status change than bgp_event().
489 Log in bgp_connect_success().
490 * bgp_vty.c: Fix typo in comment.
491 * bgp_attr.c: Better log about unknown attribute.
492
ajs3b8b1852005-01-29 18:19:13 +00004932005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
494
495 * bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
496 of buffer_getstr.
497 * bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
498 returned by buffer_getstr.
499 (bgp_show_community) Must use XFREE instead of free on string
500 returned by buffer_getstr.
501 * bgp_routemap.c: (set_community) Must use XFREE instead of free
502 on string returned by buffer_getstr.
503 * bgp_vty.c: (neighbor_description) Use argv_concat instead of
504 buffer_getstr.
505
hasso6d694292005-01-24 09:29:42 +00005062005-01-24 Hasso Tepper <hasso at quagga.net>
507
508 * bgp_route.c: Fix showstopper bug. New route must be selected also
509 if old one is flaged as BGP_INFO_ATTR_CHANGED.
510
hassof1271652005-01-17 11:04:32 +00005112005-01-17 Hasso Tepper <hasso at quagga.net>
512
513 * bgp_route.c: Clear peer's routing table regardless whether it's
514 configured or not. Being not configured is even better reason to
515 do it.
516
paula24a7e12005-01-05 08:14:13 +00005172005-01-05 Paul Jakma <paul@dishone.st>
518
519 * bgp_packet.c: (bgp_write) set socket to nonblock while writing
520 this should be generalised. See bugzilla #102. Fix supplied by
521 wawa@yandex-team.ru (Vladimir Ivanov).
522
ajsd2c1f162004-12-08 21:10:20 +00005232004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
524
525 * *.c: Change level of debug messages to LOG_DEBUG.
526
ajs274a4a42004-12-07 15:39:31 +00005272004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
528
529 * bgp_main.c: (main) The 2nd argument to openzlog has been removed.
530
ajs887c44a2004-12-03 16:36:46 +00005312004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
532
533 * bgp_main.c: (sigint) Use zlog_notice for termination message.
534 (main) Use zlog_notice for startup announcement.
535
hassoc0652302004-11-25 19:33:48 +00005362004-11-25 Hasso Tepper <hasso at quagga.net>
537
538 * bgp_main.c: Make group to run as configurable.
539
paul59320202004-11-09 01:54:03 +00005402004-11-09 Paul Jakma <paul@dishone.st>
541
542 * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX
543 and cache{1,2}.. into arrays of tables and hence collapse
544 bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though
545 a long time ago (and this change was hand-merged).
546
ajs5a646652004-11-05 01:25:55 +00005472004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
548
549 * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
550 is deprecated because the output did not represent a single point
551 in time. All output needs to be generated inline and buffered
552 by the library code.
553 (route_vty_out,route_vty_out_tag,damp_route_vty_out,
554 flap_route_vty_out) Remove code to count number of lines of output,
555 since this was only useful for VTY_CONTINUE behavior.
556 (bgp_show_callback,vty_calc_line) Removed.
557 (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
558 As a result, there's a new output_arg argument to this function.
559 Make function static.
560 (bgp_show) Make function static and add a new output_arg argument.
561 Change all functions that call bgp_show or bgp_show_table to
562 pass the new output_arg argument (that used to be passed inside
563 vty->output_arg).
564 * bgp_mplsvpn.c: Remove declarations of functions defined in
565 bgp_route.c; these declarations belong in bgp_route.h.
566 * bgp_route.h: Declare 3 global functions used in both bgp_route.c
567 and in bgp_mplsvpn.c.
568
paula2b1ecd2004-10-31 18:58:09 +00005692004-10-31 Paul Jakma <paul@dishone.st>
570
571 * {bgpd,bgp_attr}.c: size_t printf format should be ld.
572
paul98f51632004-10-25 14:19:15 +00005732004-10-25 Paul Jakma <paul@dishone.st>
574
575 * Update with fix in debian bug id 222930.
576 * bgp_main.c: Add ZCAP_RAW, needed to bind to interfaces.
577 bgp_network.c: (....) raise/lower privs around call to
578 SO_BINDTODEVICE sockopt.
579
hasso3fb9cd62004-10-19 19:44:43 +00005802004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
581
582 * bgp_nexthop.c: (bgp_connected_add) Connected destination pointer
583 may be NULL.
584 (bgp_connected_delete) ditto.
585
hasso501ba492004-10-13 21:32:46 +00005862004-10-14 Hasso Tepper <hasso at quagga.net>
587
588 * bgp_dump.c: Make dump configuration appear in vtysh.
589
hassoc75105a2004-10-13 10:33:26 +00005902004-10-13 Hasso Tepper <hasso at quagga.net>
591
592 * bgp_snmp.c: Remove defaults used to initialize smux connection to
593 snmpd. Connection is initialized only if smux peer is configured.
hasso8b3126b2004-10-13 20:59:04 +0000594 * bgp_view.c: It's dead file. Reomved.
hassoc75105a2004-10-13 10:33:26 +0000595
paulfd79ac92004-10-13 05:06:08 +00005962004-10-13 Paul Jakma <paul@dishone.st>
597
598 * (global) more const'ification and fixups of types to clean up code.
599 * bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect,
600 should use something like the VTY_GET_INTEGER macro, but without
601 the vty_out bits..
602 * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE
603 (no_set_aggregator_as) ditto.
604 * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is
605 returned, add comments about troublesome return value.
606
hasso18a6dce2004-10-03 18:18:34 +00006072004-10-03 James R. Leu <jleu at mindspring.com>
608
609 * bgp_vty.c: Router id from zebra can be manually overriden.
610 * bgp_zebra.c: Read router id related messages from zebra daemon.
611 Remove own code related with router id selection.
612 * bgpd.c, bgpd.h: Remove own router id selection code. Use the one
613 from zebra daemon if it isn't manually overriden.
614
hassoc9e52be2004-09-26 16:09:34 +00006152004-09-26 Hasso Tepper <hasso at quagga.net>
616
617 * bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings.
618
hasso52dc7ee2004-09-23 19:18:23 +00006192004-09-23 Hasso Tepper <hasso at quagga.net>
620
621 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
622
paule01f9cb2004-07-09 17:48:53 +00006232004-07-09 Paul Jakma <paul@dishone.st>
624
625 * Merge of GNU Zebra cvs2svn changesets r799, r800 and r807.
626 * bgp_dump.c: (bgp_dump_attr) cleanup. return status code. check
627 attributes present before printing.
628 * bgp_dump.c: update bgp_dump_attr prototype.
629 * bgp_packet.c: (bgp_update_receive) init attrstr. check status
630 of bgp_dump_attr. Log end-of-rib UPDATEs.
631
paulf5ba3872004-07-09 12:11:31 +00006322004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
633
634 * bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
635 if that is connection we're closing.
636 (bgp_read) invalid marker check applies to KEEPALIVE too.
637 * bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
638
paul5228ad22004-06-04 17:58:18 +00006392004-06-04 Paul Jakma <paul@dishone.st>
640
641 * type mismatch fixes
642
hasso538621f2004-05-21 09:31:30 +00006432004-05-21 Akihiro Mizutani <mizutani@net-chef.net>
644
645 * bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c:
646 Graceful restart capability display.
647
hasso3950fda2004-05-20 10:22:49 +00006482005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
649
650 * bgp_debug.c: Cosmetical fixes and log neighbor changes.
651
hasso4372df72004-05-20 10:20:02 +00006522004-05-20 Akihiro Mizutani <mizutani@net-chef.net>
653
654 * bgp_ecommunity.c: Transit ecommunity support.
655 * bgp_ecommunity.c: Fix for unknown community crush.
656
hassoe0701b72004-05-20 09:19:34 +00006572005-05-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
658
659 * *: Maximum prefix threshold support.
660 * *: Reset notification fixups.
661
paul0a589352004-05-08 11:48:26 +00006622004-05-08 Paul Jakma <paul@dishone.st>
663
664 * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes
665 (bgp_interface_address_delete) ditto.
666 (bgp_zebra_announce) ditto.
667 (bgp_zebra_withdraw) ditto.
668
paulc5317402004-05-03 13:25:06 +00006692004-05-03 Daniel Roesen <dr@cluenet.de>
670
671 * bgp_fsm.c: (bgp_stop) Reset uptime only on transition from
672 Established so that it reflects true downtime (rather time
673 since last transition, eg Active->Idle)
674
paul35be31b2004-05-01 18:17:04 +00006752004-05-01 rivo nurges <rix@estpak.ee>
676
677 * bgp_route.c: fix UNH IOL BGP-4.1.12f
678
pauleb821182004-05-01 08:44:08 +00006792004-05-01 Paul Jakma <paul@dishone.st>
680
681 * Revert the attempted clean-up of the dummy peer hack, reverts
682 patchsets 435 (see 2004-02-17 below) and 456.
683
paul545acaf2004-04-20 15:13:15 +00006842004-04-16 rivo nurges <rix@estpak.ee>
685
hasso9b87e412004-04-20 16:54:49 +0000686 * bgpd.h, bgp_debug.c: update cease subcodes to
687 draft-ietf-idr-cease-subcode-05
paul545acaf2004-04-20 15:13:15 +0000688 * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a
689
paul6ad23f02004-02-17 19:45:10 +00006902004-02-17 Paul Jakma <paul@dishone.st>
691
692 * bgpd.h: (bgp_peer) add fd_local and fd_accept
693 file descriptor's, fd becomes a pointer to one of these.
694 * bgpd.c: (global) adjust for fact that fd is now a pointer.
695 (peer_create_accept) removed.
696 * bgp_route.c: (global) adjust for change of peer fd to pointer
697 * bgp_packet.c: (bgp_collision_detect) adjust and remove the
698 "replace with other peer" hack.
699 * bgp_network.c: (bgp_accept) Remove the dummy peer hack.
700 Update peer->fd_accept instead.
701 (global) Adjust fd references - now a pointer.
702 * bgp_fsm.c: (global) adjust peer fd to pointer.
703 (bgp_connection_stop) new function, to stop connection.
704 (global) adjust everything which closed peer fd to use
705 bgp_connection_stop().
706
gdt10d60ad2003-12-23 17:34:39 +00007072003-12-23 Krzysztof Oledzki <oleq@ans.pl>
708
709 * bgp_network.c: drop privs on error cases
710
paul6ad23f02004-02-17 19:45:10 +00007112003-08-11 kunihiro <kunihiro@zebra.org>
paulac41b2a2003-08-12 05:32:27 +0000712
713 * bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with
714 ability to specify 'peer-address' rather than IP.
715
paul9238b1e2003-06-11 08:03:08 +00007162003-06-09 Paul Jakma <paul@dishone.st>
717
718 * bgp_clist.c (community_list_delete): honour deny statements
719
paul445f1432003-05-16 19:00:31 +00007202003-04-19 Hasso Tepper <hasso@estpak.ee>
721
722 * rip_routemap.c: sync daemon's route-map commands to have same
723 syntax
724
7252003-01-09 Akihiro Mizutani <mizutani@net-chef.net>
726
727 * bgp_routemap.c: Add match extcommunity command.
728
paul718e3742002-12-13 20:15:29 +00007292002-10-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
730
731 * bgp_aspath.c (aspath_init): Extend hash size from default to
732 32767.
733 (aspath_key_make): Use unsigned shoft for making hash. Suggested
734 by: Marc Evans <Marc@SoftwareHackery.Com>
735
7362002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
737
738 * bgp_clist.c (community_entry_free): Fix memory leak of standard
739 extcommunity-list config string.
740
7412002-08-19 Akihiro Mizutani <mizutani@net-chef.net>
742
743 * bgp_route.c (route_vty_out_detail): Fix bug of router-id display
744 when multiple instance is used.
745
7462002-08-18 Akihiro Mizutani <mizutani@net-chef.net>
747
748 * bgpd.c: Make "default-originate" and "maximum-prefix" commands
749 available in peer-group configuration.
750
7512002-08-13 Akihiro Mizutani <mizutani@net-chef.net>
752
753 * bgp_packet.c (bgp_open_send): Put Opt Parm Len 0 when last
754 capability packet cause error or dont-capability-negotiate option
755 is specified.
756
7572002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
758
759 * zebra-0.93 released.
760
7612001-10-28 Kunihiro Ishiguro <kunihiro@zebra.org>
762
763 * bgpd.c (bgp_vty_init): Translate update commands are removed.
764
7652001-10-10 Kunihiro Ishiguro <kunihiro@zebra.org>
766
767 * bgp_route.c (bgp_static_set): Add workaround for BGP static
768 route announcement when there is no zebra running.
769
7702001-10-08 Kunihiro Ishiguro <kunihiro@zebra.org>
771
772 * bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri
773 unicast multicast" commands.
774
7752001-09-14 Akihiro Mizutani <mizutani@dml.com>
776
777 * bgp_open.c: When we receive capability route-refresh, we should
778 check we send the capability not we receive the capability.
779
780 * bgp_route.c (bgp_network_mask_natural_route_map): network
781 statement route-map is added.
782
7832001-08-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
784
785 * bgp_advertise.c (bgp_advertise_intern): attr must be interned
786 before looking up hash table.
787
7882001-08-30 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
789
790 * bgpd.h (struct peer): BGP filter is moved from peer_conf to
791 peer.
792
7932001-08-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
794
795 * bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug.
796 Suggested by: "Hong-Sung Kim" <hoskim@lanbird.co.kr>.
797
7982001-08-26 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
799
800 * bgp_table.c (bgp_node_create): Clearn memory before use it.
801
8022001-08-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
803
804 * Change to use bgp_table.[ch].
805
8062001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
807
808 * bgpd.c (bgp_init): Add "transparent-as" and
809 "transparent-nexthop" for old version compatibility.
810
8112001-08-23 Akihiro Mizutani <mizutani@dml.com>
812
813 * bgpd.h (struct peer): default-originate route-map is added.
814
815 * bgp_route.c: When self originated route is advertised with
816 attrubute-unchanged, nexthop was not properly set. This bug is
817 fixed.
818
8192001-08-22 Akihiro Mizutani <mizutani@dml.com>
820
821 * bgpd.c (neighbor_attr_unchanged): transparent-as and
822 transparent-next-hop commands are restructured. Instead of
823 current transparent-* commands, attribute-unchanged command is
824 introduced.
825
826 neighbor A.B.C.D attribute-unchanged [as-path|next-hop|med]
827
828 (neighbor_default_originate): "default-originate" configuration
829 announce default route even 0.0.0.0/0 does not exists in BGP RIB.
830
8312001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
832
833 * zebra-0.92a released.
834
8352001-08-19 Akihiro Mizutani <mizutani@dml.com>
836
837 * bgpd.c: AF specific soft-reconfiguration inbound commands are
838 added.
839
8402001-08-17 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
841
842 * bgp_route.c (bgp_show_callback): Do not do community NULL check.
843
844 * bgp_community.c (community_cmp): Add check for commnunity NULL
845 check.
846
847 * bgp_routemap.c (route_match_community): Do not check comunity is
848 NULL. It may match to community-list "^$".
849
850 * bgp_community.c (community_match): Add check for community is
851 NULL case.
852
8532001-08-17 Akihiro Mizutani <mizutani@dml.com>
854
855 * bgpd.c: AF specific route-reflector-client and
856 route-server-client configuration are added.
857
8582001-08-17 Rick Payne <rickp@ayrnetworks.com>
859
860 * bgp_clist.c (community_match_regexp): Check special ^$ case.
861
8622001-08-17 Akihiro Mizutani <mizutani@dml.com>
863
864 * bgp_clist.c (community_list_match): Fix bug of community list
865 permit and deny check.
866
8672001-08-16 Akihiro Mizutani <mizutani@dml.com>
868
869 * bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self"
870 command.
871
8722001-08-15 Akihiro Mizutani <mizutani@dml.com>
873
874 * bgpd.h (PEER_FLAG_SEND_COMMUNITY): Per AF based configuration
875 flag is introduced.
876
877 * bgp_mplsvpn.c (bgp_mplsvpn_init): VPNv4 filtering is added.
878
8792001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
880
881 * zebra-0.92 released.
882
8832001-08-13 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
884
885 * bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib
886 table properly.
887
8882001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
889
890 * bgp_route.c (bgp_node_safi): Return SAFI of current node.
891 (bgp_config_write_network_vpnv4): VPNv4 static configuration
892 display.
893
8942001-08-11 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
895
896 * bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast
897 node filter commands.
898
8992001-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
900
901 * bgpd.h (PEER_FLAG_IGNORE_LINK_LOCAL_NEXTHOP): Add
902 "ignore-link-local-nexthop" flag for ignore link-local nexthop for
903 IPv6.
904
9052001-08-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
906
907 * bgpd.c (address_family_ipv4_multicast): "address-family ipv4
908 multicast" is added.
909 (address_family_ipv6_unicast): "address-family ipv6 unicast" is
910 added.
911
9122001-08-07 Akihiro Mizutani <mizutani@dml.com>
913
914 * bgp_route.c (bgp_process): Use flag instead of as_selected
915 memeber in struct bgp_info.
916
917 * bgp_route.h (struct bgp_info): Remove as_selected memeber from
918 struct bgp_info.
919
9202001-07-31 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
921
922 * bgp_route.c (bgp_announce_check): Enclose sending time AS loop
923 check code with #ifdef BGP_SEND_ASPATH_CHECK.
924
9252001-07-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
926
927 * bgp_packet.c (bgp_withdraw_send): Simplify address family check.
928
929 * bgpd.h (BGP_INFO_HOLDDOWN): Introduce new macro to check BGP
930 information is alive or not.
931
932 * bgp_community.c: Use community_val_get() on all OS.
933
9342001-07-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
935
936 * bgp_route.c (bgp_announce_check): Simplify set next-hop self
937 check.
938
9392001-07-24 Akihiro Mizutani <mizutani@dml.com>
940
941 * bgp_route.c (bgp_announce_check): To route server clients, we
942 announce AS path, MED and nexthop transparently.
943
9442001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
945
946 * bgp_routemap.c (route_set_atomic_aggregate_free): Do not call
947 XFREE. No memory is allocated in
948 route_set_atomic_aggregate_compile().
949
9502001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
951
952 * bgp_routemap.c (bgp_route_map_init): `match nlri` and `set nlri`
953 are replaced by `address-family ipv4` and `address-family vpnvr'.
954
9552001-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
956
957 * bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED.
958 Reported by Rick Payne <rickp@rossfell.co.uk>.
959
9602001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
961
962 * bgp_zebra.c (bgp_zebra_announce): When global IPv6 nexthop is
963 empty, use socket's remote address for the nexthop.
964
9652001-06-04 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
966
967 * bgpd.c (peer_delete): Fix memory leak. Reported by Yosi Yarchi
968 <Yosi_Yarchi@KereniX.com>
969
9702001-06-01 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
971
972 * bgpd.c (bgp_delete): Fix memory leak. Reported by Yosi Yarchi
973 <Yosi_Yarchi@KereniX.com>
974
9752001-05-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
976
977 * bgp_route.c (bgp_route_clear_with_afi_vpnv4): Use next instead
978 of ri->next.
979
980 * bgp_packet.c (bgp_withdraw_send): MPLS/VPN withdraw takes effect
981 when HAVE_IPV6 is not defined.
982
9832001-03-07 "Akihiro Mizutani" <mizutani@dml.com>
984
985 * bgpd.c (peer_timers_set): Adjust keepalive timer to fit less
986 than holdtime / 3.
987 (bgp_confederation_peers_unset): Only set peer->local_as when
988 confederation is enabled.
989 (bgp_timers): Add "timers bgp <0-65535> <0-65535>" command.
990
991 * bgp_route.c (bgp_announce_check): Set med of redistributed route
992 when it is announced to EBGP peer.
993
9942001-03-06 "Akihiro Mizutani" <mizutani@dml.com>
995
996 * bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for
997 all prefixes.
998
9992001-03-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1000
1001 * bgp_attr.c (bgp_attr_origin): When bgpd send NOTIFICATION with
1002 erroneous attribute (type, length and value), it does include
1003 attribute flags field.
1004
10052001-02-21 "Akihiro Mizutani" <mizutani@dml.com>
1006
1007 * bgp_route.c (bgp_announce_check): The route reflector is not
1008 allowed to modify the attributes of the reflected IBGP routes.
1009
10102001-02-20 "Akihiro Mizutani" <mizutani@dml.com>
1011
1012 * bgp_route.c (bgp_info_cmp): During path seleciton, BGP
1013 confederation peer is treated as same as IBGP peer.
1014
10152001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1016
1017 * bgp_route.c (bgp_redistribute_add): Initialize attr_new with
1018 attr. Call aspath_unintern when return from this function.
1019
10202001-02-19 "Akihiro Mizutani" <mizutani@dml.com>
1021
1022 * bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is
1023 changed.
1024
10252001-02-18 "Akihiro Mizutani" <mizutani@dml.com>
1026
1027 * bgp_packet.c (bgp_open_receive): When user configure holdtimer,
1028 do not refrect the value to current session.
1029
10302001-02-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1031
1032 * bgp_route.c (bgp_aggregate_delete): Set BGP_INFO_ATTR_CHANGE to
1033 suppress route withdraw.
1034
1035 * bgp_damp.c (bgp_damp_init): Fix bug of flap dampening.
1036
10372001-02-16 "Akihiro Mizutani" <mizutani@dml.com>
1038
1039 * bgp_aspath.c (aspath_make_str_count): Use ',' for separator for
1040 AS_SET and AS_CONFED_SET.
1041
10422001-02-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1043
1044 * bgp_route.c (bgp_process): Do not consider suppress route.
1045
1046 * bgp_aspath.c (aspath_aggregate_as_set_add): Reset asset when
1047 aspath->data is realloced.
1048
10492001-02-15 "Akihiro Mizutani" <mizutani@dml.com>
1050
1051 * bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic
1052 aggregate when using as-set.
1053
10542001-02-14 "Akihiro Mizutani" <mizutani@dml.com>
1055
1056 * bgpd.c (bgp_confederation_peers_unset): Set peer's local-as
1057 correctly.
1058
1059 * bgp_route.c (bgp_update): Just ignore AS path loop for
1060 confederation peer.
1061
10622001-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1063
1064 * bgp_route.c (bgp_aggregate_set): Add as_set argument.
1065 (bgp_aggregate_unset): Remove summary_only argument.
1066 (aggregate_address_as_set): New commands.
1067 "aggregate-address A.B.C.D/M as-set"
1068 "no aggregate-address A.B.C.D/M as-set"
1069
10702001-02-08 "Akihiro Mizutani" <mizutani@dml.com>
1071
1072 * bgp_route.c (bgp_announce_check): Do not modify nexthop when the
1073 route is passed by route reflector.
1074
10752001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1076
1077 * bgp_route.c: "no bgp dampening" with argument.
1078 (bgp_announce_check): Do not modify nexthop when the route is
1079 passed by route reflector.
1080
10812001-02-07 "Akihiro Mizutani" <mizutani@dml.com>
1082
1083 * bgpd.c (neighbor_passive): Change "neighbor NEIGHBOR remote-as
1084 ASN passive" to "neighbor NEIGHBOR passive".
1085 (bgp_announce_check): Check well-known community attribute even
1086 when "no neighbor send-community" is set.
1087
10882001-02-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1089
1090 * bgp_fsm.c (bgp_establish): Do not send keepalive at established
1091 time when keepalive timer is configured as zero.
1092
10932001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1094
1095 * bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local
1096 preference is well-known attribute.
1097
10982001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1099
1100 * zebra-0.91 is released.
1101
1102 * bgp_attr.h (struct attr): Comment out DPA value.
1103 (struct attr): Change refcnt type from int to unsinged long.
1104
1105 * bgp_attr.c (attrhash_key_make): Likewise.
1106 (attrhash_cmp): Likewise.
1107 (bgp_attr_dpa): Likewise.
1108
11092001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1110
1111 * bgp_route.c (bgp_info_cmp): Make route selection completely same
1112 as Cisco's.
1113
11142001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1115
1116 * bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to
1117 BGP_ATTR_FLAG_* to clarify meenings.
1118
11192001-01-30 "Akihiro Mizutani" <mizutani@dml.com>
1120
1121 * bgp_route.c (route_vty_out): Display argument to suppress same
1122 prefix information display.
1123 (route_vty_out_route): Don't display mask information for
1124 classfull network.
1125
11262001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1127
1128 * bgp_attr.h (SET_BITMAP): Simple bitmapping macros.
1129
1130 * bgp_attr.c (bgp_attr_parse): Use bitmap for attribute type
1131 check.
1132
11332001-01-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1134
1135 * bgp_attr.c (bgp_mp_reach_parse): Enclose loggin with BGP_DEBUG.
1136 (bgp_attr_parse): Comment out well-known attribute check.
1137
11382001-01-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1139
1140 * bgp_route.c (bgp_static_unset): Link-local IPv6 address can't be
1141 used for network advertisement.
1142 (nlri_parse): When link-local IPv6 address NLRI comes from
1143 remote-peer, log the information then simply ignore it.
1144
1145 * bgp_zebra.c (zebra_read_ipv6): Link-local IPv6 address is not
1146 redistributed.
1147
1148 * bgp_route.c (bgp_update): Check IPv6 global nexthop
1149 reachability.
1150
11512001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1152
1153 * bgp_route.c (bgp_update): Check nexthop points local address or
1154 not.
1155 (bgp_static_update_vpnv4): Set valid flag.
1156
1157 * bgp_attr.c (bgp_attr_parse): Duplicate attribute check.
1158 (bgp_attr_parse): Well-known attribute check.
1159
1160 * bgp_open.c (bgp_auth_parse): Authentication is not yet supported.
1161
1162 * bgp_packet.c (bgp_valid_marker): Check marker is synchronized.
1163
1164 * bgpd.c (clear_bgp): Send NOTIFICATION Cease when SEND_CEASE is
1165 defined.
1166
1167 * bgp_snmp.c (bgp4PathAttrTable): Fix compile error.
1168
11692001-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1170
1171 * bgpd.c (bgp_network_import_check): New command for IGP network
1172 check.
1173
11742001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1175
1176 * bgp_nexthop.c (bgp_scan): Run bgp_process when IGP metric is
1177 changed. Call bgp_process once for each node.
1178
11792001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1180
1181 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1182
11832001-01-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1184
1185 * bgp_route.c (bgp_info_cmp): Add IGP metric comparison.
1186
1187 * bgp_nexthop.c (bgp_nexthop_lookup): Set IGP metric for valid
1188 IBGP route.
1189
11902001-01-23 "Akihiro Mizutani" <mizutani@dml.com>
1191
1192 * bgp_route.c (show_ip_bgp_prefix_longer): Add new commands.
1193 "show ip bgp A.B.C.D/M longer-prefixes"
1194 "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes"
1195 "show ipv6 bgp X:X::X:X/M longer-prefixes"
1196 "show ipv6 mbgp X:X::X:X/M longer-prefixes"
1197
11982001-01-20 "Akihiro Mizutani" <mizutani@dml.com>
1199
1200 * bgp_route.c (show_ip_bgp_cidr_only): Add new commands.
1201 "show ip bgp cidr-only"
1202 "show ip bgp ipv4 (unicast|multicast) cidr-only"
1203
12042001-01-18 "Akihiro Mizutani" <mizutani@dml.com>
1205
1206 * bgp_route.c (bgp_update): AS path lookup check is done in
1207 bgp_update() not in attr_parse().
1208
12092001-01-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1210
1211 * bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just
1212 before bgp_attr_unintern().
1213
12142001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1215
1216 * bgp_route.c (bgp_update): Now intern is performed very last part
1217 of the BGP packet update procedure.
1218
12192001-01-17 "Akihiro Mizutani" <mizutani@dml.com>
1220
1221 * bgp_route.c (bgp_update): When implicit withdraw occur, reuse
1222 existing bgp_info structure.
1223
12242001-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1225
1226 * bgp_route.c (bgp_aggregate_decrement): Fix bug of aggregate
1227 address matching method.
1228 (bgp_update):
1229
1230 * bgp_nexthop.c (bgp_nexthop_onlink): Separate EBGP nexthop onlink
1231 check and IBGP nexthop route check.
1232
12332001-01-16 "Akihiro Mizutani" <mizutani@dml.com>
1234
1235 * bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute
1236 change.
1237
12382001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1239
1240 * bgp_route.h (struct bgp_info): Remove selected flag. Use
1241 BGP_INFO_SELECTED for flags instead.
1242 (struct bgp_info): Remove valid flag. Use BGP_INFO_VALID for
1243 flags instead.
1244 (struct bgp_info): Add igpmetric for IBGP route nexthop IGP
1245 metric.
1246 (struct bgp_info_tab): Struct bgp_info_tag is integrated into
1247 struct bgp_info.
1248 (BGP_INFO_ATRR_CHANGED): Added for track attribute change.
1249
1250 * bgp_community.c (community_val_get): gcc-2.95 on
1251 sparc-sun-solaris cause crush. This function is for avoid the
1252 crush.
1253
12542001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1255
1256 * bgp_packet.c (bgp_open_receive): Translated peer's packet_size
1257 clear bug is fixed.
1258
12592001-01-14 "Akihiro Mizutani" <mizutani@dml.com>
1260
1261 * bgp_packet.c (bgp_open_receive): Return notification with
1262 supported version number.
1263
12642001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1265
1266 * bgpd.c (bgp_show_summary): Display AS path and community
1267 entries. Suggested by: "Matt Ranney" <mjr@ranney.com>.
1268
1269 * bgp_packet.c (bgp_read_packet): Fix bug of unblocking BGP socket
1270 read. When BGP packet read is partial, we must get size and type
1271 from packet again.
1272
12732001-01-12 "Akihiro Mizutani" <mizutani@dml.com>
1274
1275 * bgp_route.c (bgp_update): Do not unset BGP_INFO_HISTORY flag.
1276 (bgp_update): When there is a history entry increment route count.
1277 (bgp_damp_set): Check BGP_CONFIG_DAMPENING flag.
1278
1279 * bgp_damp.c (bgp_damp_withdraw): Set status to
1280 BGP_DAMP_DISCONTINUE.
1281
12822001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1283
1284 * bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second
1285 IPv6 nexthop is not link-local addresss.
1286
12872001-01-11 "Akihiro Mizutani" <mizutani@dml.com>
1288
1289 * bgp_damp.c (bgp_config_write_damp): Smart flap dampening
1290 configuration display.
1291 (bgp_damp_info_print): Display elapsed time from flap started.
1292
1293 * bgp_damp.h (struct bgp_damp_info): Add flap start time.
1294
1295 * bgpd.c (peer_create): Set last read time.
1296 (bgp_show_peer): Display last read time.
1297 (bgp_show_summary): Use BGP_CONFIG_DAMPENING flag to check
1298 configuration.
1299
1300 * bgpd.h (BGP_CONFIG_DAMPENING): Add new configuration option.
1301 (struct peer): Add last read time member.
1302 (BGP_VERSION_MP_4): Remove obsolete definition.
1303
13042001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1305
1306 * bgp_nexthop.c: Remove OLD_RIB codes.
1307
1308 * bgp_route.c (bgp_process): Likewise.
1309
1310 * zebra-0.90 is released.
1311
1312 * bgp_route.h (BGP_INFO_HISTORY): Remove damped member from struct
1313 bgp_info. Instead of that use BGP_INFO_DAMPED flag.
1314 (struct bgp_info): Remove invalid member from struct bgp_info.
1315 Instead of that use BGP_INFO_HISTORY flag.
1316
13172001-01-10 "Akihiro Mizutani" <mizutani@dml.com>
1318
1319 * bgp_damp.c (bgp_damp_info_print): New function to display
1320 dampening status.
1321 (DEFAULT_HARF_LIFE): Define default value.
1322 (DEFAULT_REUSE): Likewise.
1323 (DEFAULT_SUPPRESS): Likewise.
1324 (bgp_config_write_damp): When config value is same as default
1325 value, simply display "bgp dampening" to configuration.
1326
1327 * bgp_damp.h (struct bgp_damp_info): Add flap member.
1328
1329 * bgp_route.h (struct bgp_info): Added for BGP flap dampening
1330 history status.
1331
13322001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1333
1334 * bgp_nexthop.c (bgp_connected_add): Point-to-point connected
1335 address is properly handled.
1336 (bgp_connected_delete): Likewise.
1337
1338 * bgp_route.c (bgp_route_init): Turn off BGP Flap dampening code
1339 until it works fine.
1340
13412001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1342
1343 * bgpd.c (bgp_show_summary): Add BGP_VERSION_MP_4 case.
1344
1345 * bgp_route.c (bgp_update): When this is not damped route, clear
1346 ri pointer.
1347
13482001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1349
1350 * bgp_main.c: Add "-n" no_kernel option to not install route to
1351 kernel. Suggested by: "Matt Ranney" <mjr@ranney.com>
1352
13532001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1354
1355 * bgp_nexthop.c (bgp_connected_add): Revert point-to-point
1356 connected route patch. Reported by ruud@ruud.org (Ruud de Rooij)
1357
1358 * bgp_damp.c (bgp_config_write_damp): Add configuration display
1359 function.
1360
1361 * bgp_route.c (bgp_info_free): Set NULL to BGP dampening
1362 information when BGP info structure is freed.
1363 (bgp_info_cmp): Check damped flag.
1364 (bgp_announce_check): Damped route is not announced.
1365
13662001-01-09 "Akihiro Mizutani" <mizutani@dml.com>
1367
1368 * bgpd.c (neighbor_capability_route_refresh): Change "neighbor
1369 route-refresh" command to "neighbor capability route-refresh".
1370 (clear_bgp_soft_in): Change soft-reconfig method.
1371
1372 clear ip bgp <neighbor> soft in
1373 --------------------------------------
1374 Try stored cache first then route-refresh
1375
1376 clear ip bgp <neighbor> in
1377 ---------------------------------
1378 Try route-refresh first then try to use stored cache
1379
13802001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1381
1382 * bgp_nexthop.c (bgp_connected_add): Check point-to-point
1383 connected route. Reported by ruud@ruud.org (Ruud de Rooij)
1384
13852001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1386
1387 * bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is
1388 changed, refresh it.
1389
13902001-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1391
1392 * bgp_route.h (struct bgp_info_tag): Add as_selected to
1393 bgp_info_tag.
1394
13952001-01-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1396
1397 * bgp_route.h (struct bgp_info_tag): Add damped and bgp_damp_info
1398 member for BGP flap dampening.
1399
1400 * bgp_damp.c: New file is added.
1401
1402 * bgp_damp.h: Likewise.
1403
14042001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1405
1406 * bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd".
1407
14082000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1409
1410 * bgp_nexthop.c (zlookup_connect): Change to use UNIX domain
1411 socket for zebra communication.
1412
14132000-12-29 Akihiro Mizutani <mizutani@dml.com>
1414
1415 * bgp_route.c (bgp_process): Fix "bgp deterministic-med" process.
1416
14172000-12-27 Akihiro Mizutani <mizutani@dml.com>
1418
1419 * bgp_route.c (bgp_process): Add "bgp deterministic-med" process.
1420
14212000-12-25 Akihiro Mizutani <mizutani@dml.com>
1422
1423 * bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID.
1424
14252000-12-18 Akihiro Mizutani <mizutani@dml.com>
1426
1427 * bgp_route.c (bgp_info_cmp): When over three same prefix exit,
1428 withdrawing best prefix perform router ID comparison.
1429
14302000-12-15 Akihiro Mizutani <mizutani@dml.com>
1431
1432 * bgp_route.c (bgp_info_cmp): Do not compare router ID when the
1433 routes comes from EBGP peer. When originator ID is same, take
1434 shorter cluster-list route. If cluster-list is same take smaller
1435 IP address neighbor's route.
1436
1437 * bgpd.c (bgp_bestpath_aspath_ignore): Add "bgp bestpath as-path
1438 ignore" command. When this option is set, do not concider AS path
1439 length when route selection.
1440 (bgp_bestpath_compare_router_id): Add "bgp bestpath
1441 compare-routerid". When this option is set, compare router ID
1442 when the routes comes from EBGP peer.
1443
14442000-12-15 Akihiro Mizutani <mizutani@dml.com>
1445
1446 * bgp_route.c (bgp_info_cmp): Compare originator ID when it is
1447 available.
1448
14492000-12-14 Akihiro Mizutani <mizutani@dml.com>
1450
1451 * bgp_packet.c (bgp_notify_receive): Disply received Notify data
1452 information.
1453
14542000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1455
1456 * bgp_filter.c (as_filter_free): Use MTYPE_AS_FILTER_STR to make
1457 it sure the memory is freed.
1458
1459 * bgp_route.c (route_vty_out_detail): Do not use AF_INET6 outside
1460 HAVE_IPV6.
1461
14622000-12-08 Akihiro Mizutani <mizutani@dml.com>
1463
1464 * bgp_packet.c (bgp_notify_send_with_data): Store BGP notification
1465 data part.
1466
1467 * bgp_network.c (bgp_accept): When BGP connection comes from
1468 unconfigured IP address, close socket immediately.
1469
1470 * bgpd.c: Fix some display format.
1471
14722000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1473
1474 * bgp_packet.c (bgp_keepalive_send): Delete duplicate
1475 bgp_packet_set_size () call.
1476
14772000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1478
1479 * bgp_packet.c (bgp_read_packet): Remove debug codes.
1480
14812000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1482
1483 * bgp_snmp.c (write_bgpPeerTable): Add SNMP set method routine.
1484
1485 * bgp_fsm.c (bgp_stop): Use fsm_change_status to change peer's
1486 status.
1487 (bgp_establish): Likewise.
1488
14892000-11-26 Akihiro Mizutani <mizutani@dml.com>
1490
1491 * bgp_open.c: Fix error messages.
1492
14932000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1494
1495 * bgp_fsm.c (bgp_establish): Call BGP trap when the peer is
1496 established.
1497 (bgp_stop): Call BGP trap when the peer is dropped.
1498
14992000-11-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1500
1501 * bgp_snmp.c (bgp4PathAttrTable): Return BGP path attribute table.
1502
1503 * bgpd.h (struct peer): Add update_time for track last update
1504 received time.
1505
1506 * bgp_packet.c (bgp_notify_receive): Preserv notify code and sub
1507 code in any case.
1508
1509 * bgp_snmp.c (bgpPeerTable): Return remote router ID instead of
1510 peering IP address.
1511 (bgpPeerTable): Return actual BGP version number.
1512
15132000-11-22 Akihiro Mizutani <mizutani@dml.com>
1514
1515 * bgp_debug.c (bgp_notify_print): Notify data length display bug
1516 is fixed.
1517
15182000-11-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1519
1520 * bgp_nexthop.c (zlookup_connect): When UNIX domain connection to
1521 zebra is enabled, use the method.
1522
15232000-11-16 Akihiro Mizutani <mizutani@dml.com>
1524
1525 * bgpd.c: Revise debug message output.
1526
15272000-11-15 Akihiro Mizutani <mizutani@dml.com>
1528
1529 * bgp_clist.c (ip_community_list): Fix bug of string comparison.
1530
15312000-11-14 Akihiro Mizutani <mizutani@dml.com>
1532
1533 * bgp_community.c (community_match): Fix bug of memcmp return
1534 value check.
1535
15362000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1537
1538 * bgp_clist.c (community_list_match_exact): Add check for
1539 entry->style is COMMUNITY_LIST.
1540 (community_match_regexp): Apply new com_nthval macro.
1541
15422000-11-07 Rick Payne <rickp@rossfell.co.uk>
1543
1544 * bgp_routemap.c (route_set_community_delete): "set
1545 community-delete COMMUNITY-LIST" is added.
1546
1547 * bgp_community.c (community_del_val): Delete one community.
1548 (community_delete): Delete all community included in list.
1549 (community_match): Fix bug of matching community value.
1550
1551 * bgp_clist.c (community_entry_free): Free community regular
1552 expression.
1553 (community_entry_make): Default style is COMMUNITY_LIST.
1554 (community_entry_lookup): Make it sure style is COMMUNITY_LIST.
1555 (community_entry_regexp_lookup): New function for community
1556 regular expression lookup.
1557 (community_match_regexp): New function.
1558 (community_delete_regexp): New function.
1559 (community_list_delete_entries): New function.
1560 (community_list_match): Add COMMUNITY_REGEXP treatment.
1561 (community_list_match_exact): Likewise.
1562 (config_write_community): Write community list according to
1563 entry->style.
1564
15652000-11-07 Rick Payne <rickp@rossfell.co.uk>
1566
1567 * bgp_attr.c (bgp_attr_aspath): AS path first AS check.
1568
1569 * bgp_clist.c (struct community_entry): Add style, regexp, reg to
1570 community_entry.
1571
15722000-11-06 Rick Payne <rickp@rossfell.co.uk>
1573
1574 * bgp_aspath.c (aspath_firstas_check): AS path first AS check.
1575
1576 * bgpd.c (bgp_enforce_first_as): New command "bgp
1577 enforce-first-as".
1578
1579 * bgpd.h (BGP_CONFIG_ENFORCE_FIRST_AS): Add new flag.
1580
15812000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1582
1583 * bgp_community.c (community_compare): Copy byte stream data to
1584 actual value instead of using type casting hack.
1585 (community_add_val): Likewise.
1586 (community_uniq_sort): Likewise.
1587 (community_print): Likewise.
1588 (community_print_vty): Likewise.
1589 (community_include): Use memcmp to compare community value.
1590
1591 * bgp_community.h (com_lastval): com_lastval and com_nthval macro
1592 return pointer.
1593
15942000-11-06 Akihiro Mizutani <mizutani@dml.com>
1595
1596 * bgpd.h (struct peer): Add established and dropped member for
1597 count peering up/down statistics.
1598
1599 * bgpd.c (bgp_show_peer): Display peering up/down statistics.
1600
1601 * bgp_fsm.c (bgp_establish): Increment established count.
1602 (bgp_stop): Increment dropped count.
1603
1604 * bgp_packet.c (bgp_notify_receive): Increament notify count.
1605
16062000-11-1 Akihiro Mizutani <mizutani@dml.com>
1607
1608 * bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared.
1609
16102000-10-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1611
1612 * bgpd.h: Static bit flag is set by (1 << DIGIT).
1613
16142000-10-24 Akihiro Mizutani <mizutani@dml.com>
1615
1616 * bgp_ecommunity.c (ecommunity_dup): Extended community display
1617 format fix.
1618
16192000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1620
1621 * bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror.
1622 (bgp_serv_sock_addrinfo): Check address family.
1623
16242000-10-23 Jochen Friedrich <jochen@scram.de>
1625
1626 * bgp_snmp.c: bgp_oid and bgpd_oid are used in smux_open after it
1627 is registered. So those variables must be static.
1628
16292000-10-23 Akihiro Mizutani <mizutani@dml.com>
1630
1631 * bgp_routemap.c (route_match_ip_next_hop): Change "match ip
1632 next-hop" argument from IP address to access-list name.
1633 Remove zebra-0.88 compatibility commands.
1634 "match ip prefix-list WORD"
1635 "match ipv6 prefix-list WORD"
1636
16372000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1638
1639 * bgp_routemap.c (route_match_ipv6_next_hop_compile): Fix bug of
1640 passing the pointer to the pointer of struct in6_addr instead of
1641 the pointer of struct in6_addr in "match ipv6 next-hop" command.
1642
1643 * bgp_route.c (bgp_announce_check): Enclose IPv6 part with
1644 HAVE_IPV6.
1645
16462000-10-20 Jasper Wallace <jasper@ivision.co.uk>
1647
1648 * bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed. Change
1649 to use linklist.c. Define COUNTER32 as ASN_COUNTER.
1650
16512000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * bgp_route.c (bgp_announce_check): attr->nexthop empty check
1654 should be done by attr->nexthop.s_addr instead of strcmp.
1655
16562000-10-18 Akihiro Mizutani <mizutani@dml.com>
1657
1658 * bgp_zebra.c (zebra_read_ipv4): Pass nexthop value to
1659 bgp_redistribute_add().
1660
1661 * bgp_nexthop.c (bgp_multiaccess_check_v4): New function for
1662 checking IPv4 multiaccess nexthop.
1663
1664 * bgp_route.c (bgp_announce_check): In case of the nexthop is
1665 reachable on multiaccess media, do not change nexthop.
1666 (bgp_redistribute_add): Set nexthop when the value is passed.
1667
16682000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1669
1670 * bgp_fsm.c (bgp_timer_set): If peer is passive mode, do not set
1671 connect timer.
1672 (bgp_start): If the peer is passive mode, force to move to Active
1673 mode.
1674
16752000-10-17 Horms <horms@vergenet.net>
1676
1677 * bgp_debug.c (debug_bgp_fsm): Fix typo.
1678
16792000-10-17 Akihiro Mizutani <mizutani@dml.com>
1680
1681 * bgp_route.c: "show ipv6 bgp" route display improvement.
1682
16832000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1684
1685 * bgp_route.c (neighbor_routes): Allocate sockunion for callback
1686 function.
1687 (bgp_show_neighbor_route): Remove static declaration for union
1688 sockunion.
1689
1690 * bgpd.c (peer_update_source_set): Clean previously allocated
1691 memory before allocate new one.
1692
16932000-10-03 Akihiro Mizutani <mizutani@dml.com>
1694
1695 * bgp_route.c (neighbor_routes): Add show neighbor's routes
1696 command.
1697 "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes"
1698 "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes"
1699 "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes"
1700 "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes"
1701
17022000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1703
1704 * zebra-0.89 is released.
1705
17062000-10-02 Akihiro Mizutani <mizutani@dml.com>
1707
1708 * bgpd.c: "bgp deterministic-med" command is added.
1709
17102000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1711
1712 * bgp_nexthop.c (bgp_connected_add): Apply mask for connected
1713 route addition and deletion.
1714
17152000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1716
1717 * bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment
1718 when comparing leftmost AS number.
1719
17202000-09-29 Akihiro Mizutani <mizutani@dml.com>
1721
1722 * bgpd.c (peer_route_reflector): Route reflector can be set for
1723 IBGP peer.
1724 (bgp_distribute_set): Fix bug of string check for (in|out).
1725 (bgp_show_summary): Display total neighbor count.
1726
17272000-09-28 Akihiro Mizutani <mizutani@dml.com>
1728
1729 * bgp_attr.c (bgp_packet_attribute): Only add cluster_list and
1730 originator for clinet to client routes.
1731 (bgp_packet_attribute): Add new cluster_list to the beginning of
1732 existing cluster_list.
1733 (bgp_packet_attribute): Fix bug of originator is rewritten even
1734 when originator is already set.
1735
17362000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1737
1738 * bgpd.c (bgp_client_to_client_reflection): Add new command.
1739 "no bgp client-to-client reflection"
1740 "bgp client-to-client reflection"
1741
1742 * bgpd.h (BGP_CONFIG_NO_CLIENT_TO_CLIENT): Add new definition.
1743
17442000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1745
1746 * bgp_packet.c (bgp_read): Make BGP packet read to non-blocking
1747 read.
1748 (bgp_read_packet): Likewise.
1749 (bgp_read_packet): When errono is EAGAIN, try to read it again.
1750
1751 * bgp_fsm.c (bgp_stop): Clear packet size and read buffer.
1752
17532000-09-26 Akihiro Mizutani <mizutani@dml.com>
1754
1755 * bgp_routemap.c: Configuration of prefix-list match is shown as
1756 "match ip address prefix-list <WORD>". Old configuration "match
1757 ip prefix-list <WORD>" is left for compatibilitty.
1758
17592000-09-25 Akihiro Mizutani <mizutani@dml.com>
1760
1761 * bgpd.h (BGP_CONFIG_MED_MISSING_AS_WORST): Changed from
1762 BGP_CONFIG_MISSING_AS_WORST.
1763
1764 * bgpd.c (bgp_bestpath_med): Change missing-as-worst syntax.
1765 Old "bgp bestpath missing-as-worst"
1766 New "bgp bestpath med missing-as-worst"
1767
17682000-09-24 Akihiro Mizutani <mizutani@dml.com>
1769
1770 * bgp_route.c: Compare MED properly in case of CONFED-IBGP.
1771
17722000-09-21 steve@Watt.COM (Steve Watt)
1773
1774 * bgp_debug.h: Do not declare debug variables conf_bgp_debug_* and
1775 term_bgp_debug_*.
1776
1777 * bgp_debug.c: Declare variables here.
1778
17792000-09-21 Akihiro Mizutani <mizutani@dml.com>
1780
1781 * bgpd.c: MBGP soft-reconfiguration command is added.
1782 clear ip bgp x.x.x.x ipv4 (unicast|multicast) in
1783 clear ip bgp x.x.x.x ipv4 (unicast|multicast) out
1784 clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft
1785 clear ip bgp <1-65535> ipv4 (unicast|multicast) in
1786 clear ip bgp <1-65535> ipv4 (unicast|multicast) out
1787 clear ip bgp <1-65535> ipv4 (unicast|multicast) soft
1788 clear ip bgp * ipv4 (unicast|multicast) in
1789 clear ip bgp * ipv4 (unicast|multicast) out
1790 clear ip bgp * ipv4 (unicast|multicast) soft
1791
1792 Change "clear ip bgp vpnv4 x.x.x.x soft" command to
1793 "clear ip bgp x.x.x.x vpnv4 unicast soft".
1794
1795 "bgp bestpath med confed" command is added.
1796
1797 * bgpd.h (BGP_CONFIG_MED_CONFED): Add New definition.
1798
17992000-09-18 Rick Payne <rickp@rossfell.co.uk>
1800
1801 * bgpd.c (bgp_show_peer): Fix misplaced #endif.
1802
18032000-09-12 Akihiro Mizutani <mizutani@dml.com>
1804
1805 * bgpd.c (bgp_default_local_preference): Add "bgp default
1806 local-preference" command.
1807
1808 * bgp_nexthop.c (no_bgp_scan_time): Add "no bgp scan-time"
1809 command.
1810
18112000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1812
1813 * bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes
1814 are passed to zebra like IBGP route.
1815
18162000-09-10 Akihiro Mizutani <mizutani@dml.com>
1817
1818 * bgpd.c (bgp_config_write_peer): Make it consistent passive
1819 configuration.
1820
1821 * bgp_route.c: Community match command is added.
1822 "show ip bgp community <val>"
1823 "show ip bgp community <val> exact-match"
1824
18252000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1826
1827 * bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are
1828 treated as IBGP routes.
1829
18302000-09-08 Akihiro Mizutani <mizutani@dml.com>
1831
1832 * bgp_route.c (bgp_show_route): When local-AS community route is
1833 selected, display "not advertised outside local AS" to "show ip
1834 route A.B.C.D" output.
1835 (show_ip_bgp_ipv4_filter_list): Add below four commands.
1836 "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
1837 "show ip bgp ipv4 (unicast|multicast) community"
1838 "show ip bgp ipv4 (unicast|multicast) community-list WORD"
1839 "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
1840
1841 * bgp_clist.c (community_list_match_exact): Community exact match
1842 function.
1843
18442000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1845
1846 * bgp_route.c (bgp_update): Add peer's ttl check.
1847
1848 * bgpd.h (struct peer): Structure member refresh is renamed to
1849 refresh_adv.
1850
1851 * bgpd.c (clear_bgp_soft_in): Check PEER_FLAG_ROUTE_REFRESH flag
1852 when soft reconfiguration is performed.
1853
1854 * bgp_zebra.c (bgp_zebra_announce): When the peer is EBGP and
1855 ebgp-multiphop is set, set ZEBRA_FLAG_INTERNAL for nexthop lookup.
1856
1857 * bgp_route.h (struct bgp_info_tag): Add valid flag.
1858
18592000-08-25 Akihiro Mizutani <mizutani@dml.com>
1860
1861 * bgpd.c: Add AS base BGP soft reconfiguration.
1862
1863 * bgp_route.c: When no-advertise or no-export route is selected,
1864 "show ip bgp" display "not advertised to EBGP peer" or "not
1865 advertised to any peer" message.
1866
18672000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1868
1869 * zebra-0.88 is released.
1870
1871 * bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump
1872 bgp route-mrt" to support MRT specific dump format.
1873
1874 * bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is
1875 added.
1876
1877 * bgp_route.c (bgp_update): Currently nexthop check is only works
1878 for IPv4.
1879
18802000-08-17 Akihiro Mizutani <mizutani@dml.com>
1881
1882 * bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for
1883 both inbound and outbound soft reconfiguration.
1884
18852000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1886
1887 * bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration
1888 outbound.
1889 (peer_new): Set route-refresh flag.
1890
18912000-08-16 Akihiro Mizutani <mizutani@dml.com>
1892
1893 * bgpd.c: "no bgp router-id A.B.C.D" alias is added. "no bgp
1894 cluster-id A.B.C.D" alias is added. " bgp cluster-id
1895 <1-4294967295>" alias is added. "clear ip bgp * soft in" command
1896 is added. "clear ip bgp A.B.C.D in" alias is added. "clear ip
1897 bgp * in" alias is added.
1898
18992000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1900
1901 * bgp_route.c (bgp_update): Add soft_reconfig flag. When the flag
1902 is set do not install the route into Adj-RIBs-In.
1903 (bgp_update): Perform implicit withdraw before filtering of the
1904 route.
1905
1906 * bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt
1907 capability code and BGP message can be accepted.
1908
1909 * bgp_open.c (bgp_capability_parse): Likewise.
1910
1911 * bgp_route.c (bgp_refresh_table): New function for route refresh.
1912 (bgp_refresh_rib): Likewise.
1913
1914 * bgpd.c (bgp_show_peer): Display route refresh status.
1915
1916 * bgp_route.c (bgp_aggregate_add): Add check for the route
1917 validness.
1918 (bgp_aggregate_delete): Likewise.
1919
19202000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1921
1922 * bgp_nexthop.c (bgp_scan): Care for aggregate route when the
1923 route become inaccessible.
1924
19252000-08-15 Akihiro Mizutani <mizutani@dml.com>
1926
1927 * bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M"
1928 command is added.
1929
19302000-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1931
1932 * bgp_zebra.c (bgp_interface_up): Register connected route.
1933 (bgp_interface_down): Unregister connected route.
1934
19352000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1936
1937 * bgp_route.h (struct bgp_info): Add distance to the structure.
1938
1939 * bgp_route.c (bgp_aggregate_increment): Aggregate route only
1940 match to smaller prefixlen route not match same prefixlen route.
1941 (bgp_aggregate_decrement): Likewise.
1942 (bgp_aggregate_add): Likewise.
1943 (bgp_aggregate_delete): Likewise.
1944 (bgp_network_backdoor): Add backdoor network configuration.
1945
1946 * bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store
1947 configuration distance value.
1948
1949 * bgp_route.c (bgp_update): Filter EBGP route which has non
1950 connected nexthop.
1951
1952 * bgp_attr.c (bgp_attr_aggregate_intern): New function for
1953 aggregate route. Set origin to IGP. Set atomic aggregate flag.
1954 Set aggregator AS and address.
1955 (bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when
1956 filling aggregator_as.
1957
1958 * bgp_route.c (bgp_process): Delete suppress check for install
1959 suppressed route into local routing table.
1960 (bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead
1961 of bgp_attr_default_intern ().
1962 (bgp_aggregate_add): Likewise.
1963
1964 * bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is
1965 created. This is for avoid 0.0.0.0 router-id.
1966
19672000-08-13 Akihiro Mizutani <mizutani@dml.com>
1968
1969 * bgp_route.c (route_vty_out_detail): Display "valid" when the
1970 route is valied. Display "aggregated" when the route is
1971 aggregated. "Advertisements suppressed by an aggregate" is
1972 displayed when the route is suppressed.
1973 (bgp_info_cmp): Prefer EBGP than Confed-EBGP.
1974
19752000-08-10 Akihiro Mizutani <mizutani@dml.com>
1976
1977 * bgp_route.c (route_vty_out_detail): Display format change.
1978
19792000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled.
1982
1983 * bgpd.c (bgp_delete): Delete static route before delete peer
1984 configuration.
1985
19862000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1987
1988 * bgpd.c: Include bgpd/bgp_nexthop.h.
1989
19902000-07-31 Akihiro Mizutani <mizutani@dml.com>
1991
1992 * bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP
1993 identifier. And status is changed like below.
1994
1995 State/Pref -> State/PfxRcd
1996 Shutdown -> Idle (Admin)
1997 PrefixOvflw -> Idle (PfxCt)
1998
1999 * bgp_route.c (route_vty_out): Show internal route as "i".
2000
20012000-07-13 Jim Bowen <jimb@zereau.net>
2002
2003 * bgp_snmp.c: Add BGP peer MIB implementation.
2004
20052000-07-12 Akihiro Mizutani <mizutani@dml.com>
2006
2007 * bgpd.c (bgp_show_peer): Fix typo.
2008
20092000-07-11 Akihiro Mizutani <mizutani@dml.com>
2010
2011 * bgp_routemap.c: Add commands for deleting set without argument.
2012
20132000-07-03 Akihiro Mizutani <mizutani@dml.com>
2014
2015 * bgp_zebra.c: Fix redistribute help strings.
2016
20172000-07-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2018
2019 * bgp_route.c (bgp_show): When bgpd works as vtysh server send all
2020 output to vty at once.
2021
20222000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2023
2024 * bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD
2025 tag WORD" command is added.
2026
2027 * bgp_ecommunity.c (ecommunity_vty_out): New function added.
2028
20292000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2030
2031 * bgp_route.c (bgp_show): Fix total number of prefix count bug.
2032
2033 * bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and
2034 negotiation result in "show ip bgp neighbors".
2035
20362000-06-12 Akihiro Mizutani <mizutani@dml.com>
2037
2038 * bgpd.c: Fix help strings.
2039
2040 * bgpd.h: Likewise.
2041
20422000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2043
2044 * bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info
2045 instead of rn. Reported by Akihiro Mizutani <mizutani@dml.com>.
2046
2047 * bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network
2048 A.B.C.D rd RD" is added to address-family vpnv4 unicast node.
2049
2050 * bgp_route.c (bgp_static_set): Set safi to p.safi.
2051
20522000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2053
2054 * bgp_route.c (bgp_show_prefix_list): Change to use bgp_show().
2055 (bgp_show_regexp): Change to use bgp_show().
2056 (show_adj_route): Change to display header.
2057
2058 * bgpd.c (clear_bgp): Set peer->v_start to default value when peer
2059 is cleared manually.
2060
2061 * bgp_route.c (bgp_show_route): New function which display
2062 specific BGP route. Divided from bgp_show().
2063 (bgp_static_delete): Delete all static route.
2064
20652000-06-09 NOGUCHI Kay <kay@v6.access.co.jp>
2066
2067 * bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with
2068 invalid privious fix. Now show_ipv6_bgp and show_ipv6_bgp_route
2069 take care of "show ipv6 bgp [X:X::X:X]". Same change for "show ip
2070 mbgp" and "show ipv6 mbgp".
2071
20722000-06-07 Akihiro Mizutani <mizutani@dml.com>
2073
2074 * bgp_route.c: Fix help strings and command arguments.
2075
20762000-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2077
2078 * bgp_ecommunity.c: Include prefix.h
2079
20802000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2081
2082 * bgp_route.h (struct bgp_info_tag): New structure to hold tag
2083 value.
2084
2085 * bgp_route.c (bgp_adj_set): table NULL check is added.
2086 (bgp_adj_unset): Likewise.
2087 (bgp_adj_lookup): Likewise.
2088 (bgp_adj_clear): Likewise.
2089 (route_vty_out): Add SAFI check for nexthop display.
2090 (bgp_withdraw): Add SAFI check for withdraw route.
2091
2092 * Remove all #ifdef MPLS_VPN then include it as default.
2093
2094 * bgpd.c: Temporary disable peer-group command until the
2095 implementation is completed.
2096
2097 * bgp_routemap.c (bgp_route_map_init): Install
2098 route_metric_match_cmd.
2099 (route_match_metric_compile): MED value compile using strtoul.
2100
21012000-06-05 Akihiro Mizutani <mizutani@dml.com>
2102
2103 * bgp_filter.c: Fix help strings. Change REGEXP to LINE. Change
2104 NAME to WORD.
2105
2106 * Change command argument to more comprehensive.
2107
2108 METRIC -> <0-4294967295>
2109 WEIGHT -> <0-4294967295>
2110 LOCAL_PREF -> <0-4294967295>
2111 IP_ADDR -> A.B.C.D
2112 AS -> <1-65535>
2113 AS-PATH-NAME -> WORD
2114 ACCESS_LIST -> WORD
2115 PREFIX_LIST -> WORD
2116 COMMUNITY -> AA:NN
2117 EXT_COMMUNITY -> ASN:nn_or_IP-address:nn
2118 IPv6_ADDR -> X:X::X:X
2119
2120 * bgp_clist.c: Fix help strings.
2121
21222000-06-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2123
2124 * bgpd.c (peer_active): Add new function for check the peer is
2125 active or not.
2126 (neighbor_activate): New command "neighbor PEER activate" and "no
2127 neighbor PEER activate" are added.
2128
2129 * bgp_packet.c: Include bgpd/bgp_mplsvpn.h.
2130
21312000-06-02 Akihiro Mizutani <mizutani@dml.com>
2132
2133 * bgp_clist.c: Fix commuity-list help strings.
2134
2135 * bgp_routemap.c: Fix "set community" help strings. Add #define
2136 SET_STR. Use (unicast|multicast) argument for "set nlri" command.
2137
21382000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2139
2140 * bgp_routemap.c (route_set_community_none_cmd): "set community
2141 none" command is added to route-map.
2142
21432000-06-01 Akihiro Mizutani <mizutani@dml.com>
2144
2145 * bgp_debug.c: Change "show debug" to "show debugging". Now "show
2146 debugging" is not used in VIEW_NODE.
2147
21482000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2149
2150 * bgp_fsm.c (bgp_timer_set): Add check for shutdown flag. This
2151 fix unconditional BGP connection.
2152
2153 * bgpd.c (peer_shutdown): Replace peer_shutdown() with
2154 peer_change_flag_with_reset().
2155
21562000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2157
2158 * bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default
2159 ipv4-unicast" command.
2160
2161 * bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition.
2162
2163 * bgp_filter.c (as_list_delete): Free all AS filter.
2164
2165 * bgp_clist.c (community_list_delete): Free all community entry.
2166
2167 * bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path
2168 access-list NAME".
2169
2170 * bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip
2171 community-list NAME".
2172
21732000-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2174
2175 * bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER
2176 routes" to "show ip bgp PEER received-routes"
2177
21782000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2179
2180 * bgp_ecommunity.c (ecommunity_parse): New file for Extended
2181 Communities attribute.
2182 * bgp_ecommunity.h: Likewise.
2183
21842000-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2185
2186 * bgp_mplsvpn.h: New file for MPLS-VPN.
2187 * bgp_mplsvpn.c: Likewise.
2188
2189 * bgpd.c (bgp_delete): Fix bug of "no router bgp" crush.
2190
21912000-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2192
2193 * bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath
2194 missing-as-worst".
2195
21962000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2197
2198 * bgp_routemap.c (match_community): Clarify help of "match
2199 community".
2200
22012000-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2202
2203 * bgp_aspath.c (aspath_cmp_left): Remove debug code.
2204
22052000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2206
2207 * bgp_route.c (bgp_info_cmp): Compare MED only both routes comes
2208 from same neighboring AS.
2209
2210 * bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value.
2211
2212 * bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl().
2213
22142000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2215
2216 * bgp_route.c (bgp_output_filter): When distribute-list's
2217 corresponding access-list does not exist, filter all routes.
2218 (bgp_input_filter): Likewise.
2219
22202000-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2221
2222 * bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer.
2223
2224 * bgp_route.c (bgp_info_cmp): Add evaluation of local preference.
2225
22262000-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2227
2228 * bgpd.c (bgp_distribute_update): Add struct access_list *
2229 argument.
2230
22312000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2232
2233 * bgp_clist.c (community_list_dup_check): Add duplicate insertion
2234 check.
2235
2236 * bgp_filter.c (as_list_dup_check): Add duplicate insertion check.
2237
2238 * bgp_route.c (bgp_show): Fix undeclared write variable.
2239
22402000-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2241
2242 * bgp_routemap.c: Add "match ip address prefix-list".
2243
22442000-03-29 Rick Payne <rickp@rossfell.co.uk>
2245
2246 * bgp_aspath.c (aspath_strip_confed): Fix realloc problem.
2247
22482000-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2249
2250 * bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when
2251 the peer status is Connect.
2252
22532000-03-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2254
2255 * Fix bug of rewritten originator-id.
2256
22572000-01-27 Rick Payne <rickp@rossfell.co.uk>
2258
2259 * bgp_aspath.c (aspath_delimiter_char): New function. Instead of
2260 directly referencing array, search proper AS path delimiter.
2261 (aspath_strip_confed): Strip the confederation stuff from the
2262 front of an AS path.
2263 (aspath_add_left_confed): New function for adding specified AS to
2264 the leftmost AS_CONFED_SEQUENCE.
2265
2266 * bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value
2267 to Cisco compatible.
2268
2269 * bgpd.c (bgp_confederation_id_set): Confederation configuration.
2270 (bgp_confederation_id_unset): Likewise.
2271 (bgp_confederation_peers_check): Likewise.
2272 (bgp_confederation_peers_add): Likewise.
2273 (bgp_confederation_peers_remove): Likewise.
2274 (bgp_confederation_peers_set): Likewise.
2275 (bgp_confederation_peers_unset): Likewise.
2276 (bgp_confederation_peers_print): Likewise.
2277
22782000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2279
2280 * bgpd.c: Introduce peer_change_flag_with_reset() fucntion.
2281
22822000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2283
2284 * bgp_open.c (bgp_open_option_parse): When there is no common
2285 capability send Unsupported Capability error to the peer.
2286
22872000-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about
2290 IPv6 unicast.
2291
2292 * bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command.
2293
22942000-01-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2295
2296 * bgpd.c (neighbor_strict_capability): Add
2297 "strict-capability-match" command.
2298
2299 * bgp_zebra.c (bgp_if_update): Ignore NET127 determining
2300 router-id.
2301
2302 * bgpd.c (peer_override_capability): Add "override-capability"
2303 command.
2304
23051999-12-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2306
2307 * bgp_packet.c (bgp_write): Change status to Idle and set timer
2308 after write failed.
2309
23101999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2311
2312 * bgp_zebra.c (bgp_zebra_announce): Add info->selected check.
2313
23141999-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2315
2316 * bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with
2317 nlri_parse().
2318
23191999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2320
2321 * bgp_fsm.h (BGP_EVENT_DELETE): Macro added.
2322
2323 * bgp_fsm.c (bgp_stop): Clear all event threads of the peer when
2324 the peer is cleared.
2325
2326 * bgp_zebra.c (bgp_nexthop_set): Clear interface index of
2327 link-local address. This is KAME specific problem.
2328
23291999-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2330
2331 * bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a
2332 while. We don't completely detect the link is shared or not at
2333 this moment.
2334
2335 * bgp_packet.c (bgp_notify_send): Make shortcut call of
2336 bgp_write() and bgp_stop().
2337
2338 * bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting
2339 global and link-local address.
2340
23411999-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2342
2343 * bgpd.c (no_neighbor_port): New command added.
2344 (peer_new): Set send_community.
2345
23461999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2347
2348 * bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary().
2349 (show_ip_mbgp_summary): Likewise.
2350 (show_ipv6_bgp_summary): Likewise.
2351 (show_ipv6_mbgp_summary): Add new command.
2352 (peer_free): Free peer->host.
2353 (peer_lookup_by_su): Delete function.
2354 (ipv6_bgp_neighbor): Changed to use peer_remote_as().
2355 (sockunion_vty_out): Function deleted.
2356 (vty_clear_bgp): Use afi instead of family.
2357 Delete old list bgp_list. Use struct newlist *bgplist.
2358 (peer_lookup_by_host): Function deleted.
2359
23601999-12-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2361
2362 * bgpd.h (struct peer_group): New structure added.
2363 (struct peer_conf): New structure added.
2364 (struct peer): Change all prefix_count to unsigned long.
2365
2366 * bgpd.c: Reconstruct all of VTY commands reflect internal
2367 structure change.
2368 Use bgplist instead of bgp_list.
2369 Use peerlist intstead of peer_list.
2370
2371 * bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop
2372 parsing then return immediately.
2373
2374 * bgp_route.c (nlri_parse): When NLRI parse error occured, return
2375 -1.
2376 (nlri_process): Use pcount_v4_{unicast,multicast}.
2377 (nlri_delete): Likewise.
2378
23791999-11-25 Robert Olsson <Robert.Olsson@data.slu.se>
2380
2381 * bgp_routemap.c (route_match_nlri): `match nlri
2382 unicast|multicast' and `set nlri unicast|multicast' command are
2383 added.
2384
23851999-11-22 Robert Olsson <Robert.Olsson@data.slu.se>
2386
2387 * bgpd.c: Add translate-update support.
2388
2389 * bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition.
2390
23911999-11-19 Robert.Olsson@data.slu.se
2392
2393 * bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes.
2394
23951999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2396
2397 * bgp_open.c (bgp_capability_mp): Temporary comment out
2398 SAFI_UNICAST_MULTICAST handling until we know the meanings.
2399
24001999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2401
2402 * bgp_btoa.c: New file added.
2403
24041999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2405
2406 * bgpd.h (struct peer): Add dont_capability flag.
2407 (struct peer): Add override_capability flag.
2408
2409 * bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER
2410 dont-capability-negotiation' added.
2411
24121999-11-12 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2413
2414 * bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses
2415 attribute from non-shared-network peers.
2416
24171999-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2418
2419 * bgp_snmp.c: New file added.
2420
2421 * BGP4-MIB.txt: Updated to the latest Internet-Draft
2422 draft-ietf-idr-bgp4-mib-04.txt.
2423
24241999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2425
2426 * bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'.
2427
2428 * bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with
2429 #ifdef HAVE_MBGPV4.
2430
24311999-11-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2432
2433 * bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no
2434 dump bgp commands.
2435 (config_write_bgp_dump): Write interval value to the
2436 configuration.
2437
24381999-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2439
2440 * bgp_zebra.c: Redistribute route-map support is added.
2441
2442 * bgp_zebra.h: New file added.
2443
24441999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2445
2446 * bgp_dump.c: BGP packet dump routine compatible with MRT.
2447 * bgp_dump.h: BGP packet dump routine compatible with MRT.
2448
2449 * bgp_debug.c: Renamed from bgp_dump.c
2450 * bgp_debug.h: Renamed from bgp_dump.h
2451
24521999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * BGP4-MIB.txt: New file added. Edited version of RFC1657.
2455
24561999-10-25 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2457
2458 * bgp_route.c (bgp_announce): If we're not on a shared network
2459 with the peer and we don't have a link-local next hop, but the
2460 inbound next-hop has a link-local address, don't readvertise it to
2461 our peer.
2462
24631999-10-25 Marc Boucher <marc@mbsi.ca>
2464
2465 * bgp_zebra.c: Add redistribute kernel command.
2466
24671999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2468
2469 * bgp_route.c (bgp_reset): New function added.
2470
2471 * bgpd.conf.sample2: Add IPv6 configuration sample.
2472
24731999-10-24 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2474
2475 * bgp_route.c (ipv6_aggregate_address): Function added.
2476
24771999-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2478
2479 * bgp_packet.c (bgp_update): Unintern aspath, community, cluster
2480 list after parsing BGP update packet.
2481
2482 * bgp_attr.c (bgp_attr_aspath): Intern parsed aspath.
2483 (bgp_attr_community): Intern parsed community.
2484 (bgp_attr_cluster_list): Intern parsed cluster list.
2485
2486 * bgp_routemap.c: Add `set community-additive' command.
2487
24881999-10-21 Alexandr D. Kanevskiy <kad@blackcatlinux.com>
2489
2490 * bgp_routemap.c (route_set_local_pref): Fix bug of setting
2491 attribute flag.
2492
24931999-10-21 Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
2494
2495 * bgp_route.c (bgp_announce): Add check of IPv6 default route
2496 announcement.
2497
2498 * bgp_packet.c (bgp_update_send): Add BGP announcement logging.
2499
25001999-10-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2501
2502 * `show ip[v6] bgp PREFIX' show uptime of the route.
2503
25041999-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2505
2506 * bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead
2507 of that use AF_INET and AF_INET6 directly.
2508 (vty_clear_bgp): Add new function to support various clear ip bgp
2509 method.
2510
25111999-10-04 Lars Fenneberg <lf@elemental.net>
2512
2513 * bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'.
2514
25151999-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2516
2517 * bgp_routemap.c: Add `match ip prefix-list' and `match ipv6
2518 prefix-list'.
2519
25201999-09-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2521
2522 * bgpd.c (bgp_collision_detect): Add BGP collision detection
2523 function.
2524
25251999-09-26 Blake Meike <bmeike@adero.com>
2526
2527 * bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is
2528 added.
2529
25301999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2531
2532 * bgpd.c (no_neighbor_timers_keepalive): Change MIN to min. Add
2533 min() macro.
2534
25351999-08-19 Rick Payne <rickp@rossfell.co.uk>
2536
2537 * bgp_packet.c (bgp_open): BGP holdtimer bug is fixed. Make BGP
2538 keepalive timer configurable.
2539
25401999-08-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2541
2542 * bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug.
2543
25441999-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2545
2546 * bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list
2547 the peer not all of them.
2548
25491999-08-11 Rick Payne <rickp@rossfell.co.uk>
2550
2551 * bgp_route.c (bgp_announce): Remove MED if its an EBGP peer -
2552 will get overwritten by route-maps.
2553
25541999-08-08 Rick Payne <rickp@rossfell.co.uk>
2555
2556 * bgp_routemap.c: Multi protocol route-map modification.
2557
25581999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2559
2560 * bgp_route.c: Set network statement route's origin attribute as
2561 igp.
2562
2563 * bgp_zebra.c: Set redistribute route's origin attribute as
2564 incomplete.
2565
2566 * bgp_route.c (bgp_info_cmp): Add attribute existance check,
2567 origin attribute check, BGP peer type check.
2568
25691999-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2570
2571 * bgp_route.c (bgp_peer_delete): Reselect of IPv6 route.
2572
25731999-07-29 Rick Payne <rickp@rossfell.co.uk>
2574
2575 * Changed route-maps to behave in a more cisco-like fashion
2576
25771999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed.
2580 When multiple route to the same destination exist, bgpd try to
2581 announce the information to stopped peer. Then add orphan write
2582 thread is added. This cause many strange behavior of bgpd.
2583 Reported by Georg Hitsch <georg@atnet.at>.
2584
25851999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2586
2587 * bgpd.c: Change peer's A.B.C.D to PEER.
2588
25891999-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2590
2591 * bgp_route.c (bgp_announce): Add hack for link-local nexthop.
2592
2593 * bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from
2594 local address.
2595
25961999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2597
2598 * bgp_packet.c (bgp_open): Holdtime fetch bug is fixed. Reported
2599 by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>.
2600
26011999-07-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2602
2603 * bgp_fsm.c (fsm_holdtime): Don't close file descriptor in
2604 fsm_holdtime ().
2605
26061999-07-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2607
2608 * bgp_routemap.c: Add `set atomic-aggregate' command.
2609
26101999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2611
2612 * bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop"
2613 to "ip next-hop".
2614
26151999-07-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2616
2617 * bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp'
2618 added.
2619
26201999-07-01 Rick Payne <rickp@rossfell.co.uk>
2621
2622 * bgp_zebra.c (zebra_init): Install standard commands to
2623 ZEBRA_NODE.
2624
26251999-06-28 Rick Payne <rickp@rossfell.co.uk>
2626
2627 * bgpd.c (bgp_delete): bgp peer deletion bug is fixed.
2628
26291999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2630
2631 * bgpd.c: Add neighbor update-source command as ALIAS to
2632 neighbor_interface.
2633
26341999-06-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2635
2636 * bgp_attr.c (bgp_packet_attribute): Send community attribute when
2637 send_community flag is set.
2638
2639 * bgpd.h (struct peer): Add send_community flag.
2640
26411999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2642
2643 * bgpd.c (router_bgp): router bgp's argument changed from AS_NO to
2644 <1-65535>.
2645
26461999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2647
2648 * bgp_route.h (struct bgp_info): Add subtype for BGP route type.
2649
26501999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2651
2652 * bgp_community.c (community_merge): Function added.
2653
26541999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2655
2656 * bgp_clist.c: New file.
2657 * bgp_clist.h: New file.
2658
2659 * bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco
2660 compatibility.
2661 (COMMUNITY_NO_ADVERTISE): Fix typo.
2662
26631999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2664
2665 * bgp_routemap.c: Add `set weight WEIGHT' command.
2666
2667 * bgpd.c: Remove all_digit_check function. Instead of that use
2668 all_digit function in lib/prefix.c.
2669
2670 * bgp_routemap.c (bgp_route_map_init): Install
2671 no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd
2672 element to the RMAP_NODE.
2673
26741999-05-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2675
2676 * bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char
2677 inside aspath_make_str function.
2678 (aspath_prepend): New function is added for AS path prepend.
2679 (aspath_make_str_count): Renamed from aspath_make_str. AS path
2680 count is set to the structure.
2681 (aspath_merge): New function.
2682
26831999-05-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2684
2685 * bgp_zebra.c (redistribute_bgp): Add new DEFUN.
2686 (no_redistribute_bgp): Likewise.
2687 (router_zebra): Semantics changed. Now 'router zebra' is default
2688 behavior of bgpd.
2689
26901999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2691
2692 * bgp_routemap.c: Add some commands to bgp route-map.
2693 match ip next-hop: New command.
2694 match metric: New command.
2695 set metric: Doc fix.
2696 set local-preference: Add DEFUN.
2697
26981999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2699
2700 * bgp_main.c (signal_init): SIGTERM call sigint.
2701 (sigint): Loggging more better message.
2702
27031999-05-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2704
2705 * bgp_attr.c (bgp_packet_attribute): AS path attribute extended
2706 length bit check is added.
2707
27081999-05-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2709
2710 * bgp_routemap.c (bgp_route_map_init): Call route_map_install_set
2711 function with route_set_local_pref_cmd argument.
2712 (no_match_aspath): Function added.
2713 (route_set_metric): Set attribute flag bit.
2714
2715 * bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP
2716 packet.
2717
27181999-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2719
2720 * bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers
2721 holdtime' command is added.
2722
2723 * bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define.
2724
2725 * bgpd.c (bgp_prefix_list_set): New function added.
2726 (bgp_prefix_list_unset): Likewise.
2727 (bgp_prefix_list_update): Likewise.
2728 (show_ip_bgp_neighbors): prefix-list information display.
2729
27301999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2731
2732 * bgpd.c (bgp_delete): Function added for `no router bgp'.
2733
27341999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2735
2736 * bgp_dump.c (bgp_dump_attr): Add originator_id display.
2737
2738 * bgpd.c (bgp_router_id): Even when address is malformed set the
2739 value to configuration bug fixed.
2740 (no_bgp_router_id): New function.
2741 (no_bgp_cluster_id): New function.
2742
27431999-05-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2744
2745 * bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR.
2746
27471999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2748
2749 * bgp_route.c (bgp_announce): Add route reflector check.
2750
27511999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2752
2753 * bgpd.c (bgp_cluster_id): Add function for route reflector.
2754 (neighbor_route_reflector_client): Likewise.
2755 (no_neighbor_route_reflector_client): Likewise.
2756
2757 * bgpd.h (struct bgp ): Add cluster for route reflector.
2758
2759 * bgp_route.c (show_ip_bgp_prefix_list): New command is added.
2760
27611999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2762
2763 * Makefile.am (noinst_HEADERS): Add bgp_filter.h
2764
2765 * bgp_aspath.c (aspath_undup): Function deleted. aspath_free ()
2766 has same functionality.
2767
2768 * bgp_filter.h: New file.
2769
2770 * bgp_aspath.c (aspath_unintern): Rename aspath_free () to
2771 aspath_unintern ()
2772 (aspath_free): New function.
2773
27741999-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2775
2776 * bgp_aspath.c (aspath_aggregate): Function added.
2777
2778 * bgp_aspath.h (aspath_aggregate): Prototype added.
2779
2780 * bgp_aspath.c (aspath_empty_aspath): New argument
2781 gated_dont_eat_flag is added.
2782
27831999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2784
2785 * bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6.
2786
27871999-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2788
2789 * bgp_route.c (aggregate_address): Function added.
2790
2791 * bgp_zebra.c (zebra_read): Change log to zlog.
2792
27931999-04-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2794
2795 * Makefile.am (noninst_HEADERS): Added for make dist.
2796
27971999-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2798
2799 * aspath_regex.c: Removed from distribution.
2800
28011999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2802
2803 * bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment
2804 bug fixed.
2805
28061999-04-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2807
2808 * bgp_aspath.c (aspath_add_left): Fix empty aspath bug. Reported
2809 by kad@gibson.skif.net.
2810
2811 * bgp_regex.[ch]: New file added.
2812
2813
28141999-04-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2815
2816 * bgp_filter.c: New file added.
2817
28181999-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2819
2820 * bgp_aspath.c (aspath_empty_aspath): Change for peering with
2821 gated.
2822
28231999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2824
2825 * bgp_main.c (main): Default loggin method changed from syslog to
2826 stdout.
2827
28281999-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2829
2830 * bgp_route.c: Delete obsolete default attribute DEFUN.
2831
28321999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2833
2834 * bgp_attr.c: Make attribute structure put into attribute hash.
2835
28361999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2837
2838 * bgp_view.c : Delete file.
2839
28401999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2841
2842 * bgp_routemap.c (bgp_apply_route_map): Add prefix argument.
2843
2844 * bgp_route.h (struct bgp_info): Add bgp_info structre. I'll
2845 replace bgp_route with this.
2846
2847 * bgp_routemap.c (route_match_ip_address): Fix bug of passing non
2848 prefix value to access_list_apply().
2849
2850 * bgpd.conf.sample: Add route-map sample.
2851 Delete obsolete default-attr statements.
2852
2853 * bgp_packet.c: Use stream_fifo for packet queueing.
2854
28551999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2856
2857 * bgp_aspath.c (aspath_add_left): add non empty aspath treatment.
2858
2859 * bgp_main.c: include unistd.h for daemon().
2860
2861 * bgp_route.c (nlri_process): add IPv6 table lookup.
2862
2863 * bgp_attr.c (route_parse_ipv6): call nlri_process().
2864 (attr_make): Obsolete function attr_make deleted.
2865
28661999-02-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2867
2868 * bgp_aspath.c (aspath_add_left): change function name from
2869 aspath_add_leftmost_as().
2870
28711999-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2872
2873 * bgp_aspath.c: add aspath_add_leftmost_as ().
2874
28751999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2876
2877 * syslog support added
2878
28791999-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2880
2881 * bgpd.c: DEFUN (neighbor_nexthop): deleted.
2882 DEFUN (neighbor_distribute_list): added.
2883
28841999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2885
2886 * bgpd.h (struct peer ): header_buf and read_buf is removed.
2887
2888 * bgp_peer.[ch]: Deleted. Peer related functions are merged to
2889 bgpd.c
2890
2891 * bgp_network.c: New file.
2892 * bgp_network.h: New file.
2893
2894 * bgp_packet.h: New file.
2895
28961999-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2897
2898 * bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is
2899 buffered.
2900
29011999-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2902
2903 * bgp_packet.c: New file.
2904
29051998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2906
2907 * bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c.
2908
2909 * `show ip bgp' bug fixed.
2910 * aspath_log (): Remove argument logfp.
2911
29121998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2913
2914 * bgp_fsm.h: New file.
2915
29161998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2917
2918 * bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c
2919 bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c
2920 bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c,
2921 bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes.
2922
29231998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2924
2925 * bgpd.c (bgp_config_write): Delete vector v argument.
2926
29271998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2928
2929 * bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros.
2930
29311998-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2932
2933 * bgp_radix.[ch]: removed.
2934
29351998-09-15 HEO SeonMeyong <seirios@matrix.iri.co.jp>
2936
2937 * bgp_main.c: ifdef HYDRANGEA -> ifdef KAME
2938
29391998-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2940
2941 * bgp_dump.c: delete nroute().
2942
29431998-05-19 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2944
2945 * bgp_aspath.c: HAVE_CONFIG_H typo :-)
2946 * bgpd.h: Modify for compile on Solaris.
2947 * bgp_aspath.h: likewize
2948 * bgp_community.h: likewize
2949 * bgp_routemap.c: likewize
2950
29511998-05-18 Yamshita TAKAO <jargon@lares.dti.ne.jp>
2952
2953 * bgpd.h: Modify for compile on Solaris.
2954 * bgp_aspath.h: likewize
2955
29561998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2957
2958 * routemap.[ch]: move to ../lib directory.
2959
29601998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2961
2962 * routemap.c (route_map_apply): add function.
2963
29641998-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2965
2966 * routemap.h: add file.
2967
2968 * bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP}
2969
29701998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2971
2972 * Makefile.am: sysconfdir_DATA added.
2973
29741998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2975
2976 * bgp_dump.c: add `debug bgp fsm'
2977 add `no debug bgp fsm'
2978 add `show debug bgp'
2979 * bgp_open.c: File added.
2980
29811998-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2982
2983 * .cvsignore: File added.
2984
29851998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2986
2987 * bgp_community.[ch]: File added.
2988
29891998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2990
2991 * bgpd now use lib/thread.[ch].
2992
29931998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2994
2995 * bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command.
2996
2997 * bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30.
2998
29991997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3000
3001 * bgp_vty.c: bgp_vty.c deleted.
3002
3003 * bgpd.c (config_write_neighbor): add ebgp-multihop command.
3004
30051997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3006
3007 * bgp_fsm.c: [-p bgp_port] and [-P vty_port] works
3008
30091997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * bgp_vty.c: new file.
3012
3013 * bgp_attr.c: add new logging system.
3014
30151997-11-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3016
3017 * Change all inet_addr call into inet_aton.
3018
30191997-11-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3020
3021 * bgp_radix.c: change radix_peer_delete
3022
30231997-10-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3024
3025 * bgp_aspath.c: move AS_TOKEN_??? definition from header to c source.
3026
30271997-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3028
3029 * bgp_dump.c (bgp_log_route): add dump_attr function
3030
30311997-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3032
3033 * bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{'
3034 * bgp_dump.c (bgp_log_route): change logfile format.
3035
30361997-08-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3037
3038 * bgp_open.c (bgp_open): move bgp_open function from bgpd.c
3039 * bgp_attr.c (community_str2com): add community value generation
3040 * bgp_attr.h: add SAFI definition for BGP-4+
3041
30421997-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3043
3044 * bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter
3045 * Makefile.in: add bgp_open.o, delete bgp_loop.o
3046 * bgp_open.c: newfile which manages BGP Open message
3047 * bgp_loop.c: this file is merged with bgp_fsm.c
3048 * bgp_radix.c (radix_add): radix_add() now return route_t instead
3049 of int
3050 (bgp_sim): now we can read update & withdraw from file
3051 * bgp_route.c: add route_free() call into route_parse etc.
3052
30531997-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3054
3055 * bgp_radix.c: Radix code is completely rewritten. It has better
3056 memory treatment than old one.
3057
30581997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3059
3060 * bgp_route.c: route_alloc for route struct allocation statistics.
3061 * bgpd.c (bgp_make_update): now we cann announce MED attribute.
3062 * bgp_aspath.c (aspath_print_all): change aspath_print_all output
3063 format.
3064
30651997-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3066
3067 * bgp_term.c (term_parse): add command : show asstat, show ashash
3068 * bgp_aspath.c: aspath_cmp bug fix
3069 (aspath_print_all): add aspath_print_all ();
3070 * bgp_peer.h: delete rlist element from struct peer.
3071
30721997-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3073
3074 * bgp_aspath.c: completely rewritten.
3075 * bgp_aspath.h: completely rewritten.
3076 add AsPath, AsSegment structure
3077 add AS_SET treatment
3078 change Hash codes
3079
30801997-08-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3081
3082 * bgp_attr.h: add Attribute flags defines
3083 * bgp_route.c: delete rlist related functions
3084 * bgp_aspath.c (as_origin): add as_origin function
3085 (aspath_print): move from bgp_dump.c and add support of AS_SET
3086 change Hash related function names.
3087
30881997-08-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3089
3090 * bgp_aspath.h: add next entry, delete rlist entry from struct aspath
3091
30921997-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3093
3094 * bgp_aspath.c (as_sort): add function as_sort
3095 * bgp_aspath.h: add IBGP, EBGP
3096