]> git.sommitrealweird.co.uk Git - quagga-debian.git/blob - NEWS
Merge tag 'upstream/1.2.3'
[quagga-debian.git] / NEWS
1 Note: this file lists major user-visible changes only.
2
3 * Changes in Quagga []
4
5 - [zebra] "no link-detect" is no longer the default.  
6
7     The previous release of Quagga always explicitly writes-out the
8     link-detect configuration state.  Therefore, to retain current behavior
9     save your config with the prior release before updating.
10
11     Otherwise, review your configuration.  Note, most users will generally
12     want to have link-detect enabled, and so can just remove 'no
13     link-detect' from their interface configuration.
14
15     This release also adds a global configuration to specify the default,
16     which can be specified in the zebra configuration as:
17
18       default link-detect (on|off)
19
20     This will then apply to any interface which does not have link-detect
21     explicitly configured.
22
23 * Changes in Quagga 0.99.24
24
25 User-visible changes:
26 - [pimd] New daemon: pimd provides IPv4 PIM-SSM multicast routing.
27 - [bgpd] New feature: "next-hop-self all" to override nexthop on iBGP route
28     reflector setups.
29 - [bgpd] route-maps have a new action "set ipv6 next-hop peer-address"
30 - [bgpd] route-maps have a new action "set as-path prepend last-as"
31 - [bgpd] Update validity checking (particularly MP-BGP / IPv6 routes) was
32     touched up significantly.  Please report possible bugs.
33 - [ripd] New feature: RIP for IPv4 now supports equal-cost multipath (ECMP)
34 - [zebra] Multicast RIB support has been extended.  It still is IPv4 only.
35 - [zebra] "no link-detect" is now printed in configurations since it won't
36     be the default anymore soon.  To retain current behaviour, re-save your
37     configuration after updating to 0.99.24.
38
39 Distributor-visible changes:
40 - --enable-pimd is added to enable pimd.  It is considered experimental, though
41     unless the distribution target is embedded systems with little flash, there
42     is no reason to not include it in packages.
43 - --disable-ipv6 no longer exists as an option.  It's 2015, your C library
44     really needs to have IPv6 support by now.
45 - --disable-netlink no longer exists as an option.  It didn't work anyway.
46 - --disable-solaris no longer exists as an option.  It only controlled some
47     init scripts.
48 - --enable-isisd is now the default.
49 - mrlg.cgi is no longer included (it was severely outdated).  It can be found
50     independently at http://mrlg.op-sec.us/
51 - build on Linux with the musl C library should now work
52
53 * Changes in Quagga 0.99.23
54
55 Known issues:
56 - [bgpd] setting an extcommunity in a route map on a route that already has
57   an extcommunity attribute will cause bgpd to crash.  This issue will be
58   fixed in a followup minor release.
59
60 User-visible changes:
61 - [lib] Performance enhancements on hashes and timers.
62 - [bgpd] New feature: iBGP TTL security.
63 - [bgpd] New feature: relaxed bestpath criteria for multipath and improved
64   display of multipath routes in "show ip bgp".  Scripts parsing this output
65   may need to be updated.
66 - [bgpd] Multiprotocol peerings over IPv6 now try to find a more appropriate
67   IPv4 nexthop by looking at the interface.
68 - [ospf6d] A large amount of changes has been merged for ospf6d.  Careful
69   evaluation prior to deployment is recommended.
70 - [zebra] Recursive route support has been overhauled.  Scripts parsing
71   "show ip route" output may need adaptation.
72 - [zebra] IPv6 address management has been improved regarding tentative
73   addresses.  This is visible in that a freshly configured address will not
74   immediately be marked as usable.
75 - [*] a lot of bugs have been fixed, please refer to the git log
76
77 * Changes in Quagga 0.99.22
78
79 - [bgpd] The semantics of default-originate route-map have changed.
80   The route-map is now used to advertise the default route conditionally.
81   The old behaviour which allowed to set attributes on the originated
82   default route is no longer supported.
83 - [bgpd] There is now a replace-as option to neighbor ... local-as ...
84   no-prepend.  For details, refer to the user documentation.
85 - [zebra] An FPM interface has been added.  This provides an alternate
86   interface to routing information and is geared at OpenFlow & co.
87 - [snmp] AgentX is now supported;  the old smux backend is considered
88   deprecated.  ospf6d has also had OSPFV3-MIB added.
89 - [*] several issues with configuration save/load/apply have been fixed,
90   in particular on ospf "max-metric router-lsa administrative" and
91   "distribute-list", bgpd "no neighbor activate", isisd "metric-style",
92 - [*] a lot of bugs have been fixed, please refer to the git log
93
94 * Changes in Quagga 0.99.21
95
96 - [bgpd] BGP multipath support has been merged
97 - [bgpd] SAFI (Multicast topology) support has been extended to propagate
98   the topology to zebra.
99 - [bgpd] AS path limit functionality has been removed
100 - [babeld] a new routing daemon implementing the BABEL ad-hoc mesh routing
101   protocol has been merged.
102 - [isisd] a major overhaul has been picked up. Please note that isisd is
103   STILL NOT SUITABLE FOR PRODUCTION USE.
104 - [*] a lot of bugs have been fixed, please refer to the git log
105
106 * Changes in Quagga 0.99.10
107
108 - [bgpd] 4-byte AS support added
109 - [bgpd] MRT format changes to version 2. Those relying on
110   bgpd MRT table dumps may need to update their tools.
111 - [bgpd] Added new route-map set statement: "as-path exclude"
112 - Zebra RIB updates queue has evolved into a multi-level
113   structure to address RIB consistency issues.
114
115 * Changes in Quagga 0.99.2
116
117 - [bgpd] Work queues added to bgpd to split up update processing,
118   particularly beneficial when a peer session goes down. AS_PATH
119   parsing rewritten to be clearer, more robust and ready for 4-byte.
120
121 - [ripd] Simple authentication is no longer the default authentication
122   mode for ripd. The default is now no-authentication. Any setups which
123   used simple authentication will probably need to update their
124   configuration manually.
125
126 - [ospfd] 1s dead-interval with sub-second Hellos feature added.
127   SPF timers now specified in milliseconds, and with adaptive
128   hold-time support. RFC3137 Stub-router support added. Default ABR
129   type is now 'cisco'.
130
131 - Solaris least privileges support added.
132
133 * Changes in Quagga 0.99.1
134
135 - Zserv is now buffered via threads and non-blocking in most cases for both
136   clients and zebra, which should improve responsiveness of daemons when
137   they must send many messages to zebra.
138
139 - 'show thread cpu' now displays both cpu+system and wall-clock time,
140   where getrusage() is available.
141
142 - Background threads added and workqueue API added, with a
143   'show work-queues' command. Thread scheduling improved slightly.
144
145 - Zebra now has a work-queue for RIB processing. See 'show work-queues' in
146   the zebra daemon vty.
147
148 - Support for interface renaming on Linux netlink systems.
149
150 - GNU Zebra bgpd merges, including BGP Graceful-restart and "match ip
151   route-source" command.
152
153 - Automatic logging of backtraces should daemons crash to assist in
154   diagnosis. See the documentation for more information on configuring
155   logging correctly, and set --enable-gcc-rdynamic if compiling with gcc.
156
157 * Changes in Quagga 0.98.0
158
159 - Logging facilities upgraded.  One can now specify a severity level
160   for each logging destination.  And a new "show logging" command gives
161   thorough information on the current logging system configuration.
162
163 - Watchquagga daemon added.  This is not well tested yet.  Please try
164   monitor mode first before enabling restart features.  It is important
165   to make sure that the various timers are configured with appropriate
166   values for your site.
167
168 - BGP route-server support added. See the texinfo documentation.
169
170 - OSPF API initialisation is disabled by default even if compiled in. You
171   can enable it with -a/--apiserver command line switch.
172
173 - "write-config integrated" vtysh command replaced with "service
174   integrated-vtysh-config" command.
175
176 - Router id is now handled by zebra daemon and all daemons receive changes
177   from it. Router id can be overriden in daemons' configurations of course.
178   To fix common router id in zebra daemon you can either install non-127
179   address on loopback or use "router-id x.x.x.x" command.
180
181 - "secondary" keyword is removed from ip address configuration. All
182   supported OS'es have their own vision what's secondary address and
183   how to handle it.
184
185 - Zebra no longer enables forwarding by default. If you rely on zebra to
186   enable forwarding make sure to add '<ip|ip6> forwarding' statements
187   to your zebra configuration file.
188
189 - All libraries are built and used shared, on platforms where libtool
190   supports shared libraries.
191
192 - Router advertisement syntax is changed. In usual cases (if you didn't do
193   any fancy stuff) it's enough to change lines in configuration from:
194   "ipv6 nd prefix-advertisement X:X:X:X::/X 2592000 604800 autoconfig on-link"
195   to:
196   "ipv6 nd prefix X:X:X:X::/X"
197
198   All router advertisement options are documented in texi documentation.
199
200 - --enable-nssa configure switch is removed. NSSA support is stable enough.
201
202 - Daemons don't look at current directory for config file any more.
203
204 * Changes in Quagga 0.96.5
205
206 - include files are installed in $(prefix)/include/quagga.  Programs
207   building against these includes should -I$(prefix)/include and e.g.
208   #include <quagga/routemap.h>
209
210 - New option --enable-exampledir puts example files in a separate
211   directory from $(sysconfdir), easing NetBSD pkgsrc hierarchy rules
212   compliance.
213
214 - New configure options --enable-configfile-mask and
215   --enable-logfile-mask to set umask values for config and log
216   values.  Masks default to 0600, matching previous behavior.
217
218 - Import current CVS isisd from SourceForge, then merge it with
219   the Quagga's Framework.
220
221 * Changes in Quagga 0.96.4
222
223 - Further fixes to ospfd, some relating to the PtP revert. Interface
224 lookups should be a lot more robust now. 
225
226 - Fix for a remote triggerable crash in vty layer.
227
228 - Improvements to ripd, and addition of split horizon support.
229
230 - Improved bgpd table support, now dumps at time of day intervals rather
231 than time from startup intervals. Much improved support for IPv6 table
232 dumps. show commands for views improved.
233
234 * Changes in Quagga 0.96.3
235
236 - revert the 'generic PtP' patch. Means Quagga will no longer work with
237 FreeSWAN, however, on the plus side this gets rid of a lot of niggly bugs
238 which the PtP patch introduced.
239
240 * Changes in Quagga 0.96.2
241
242 - Fix crash in ospfd
243
244 * Changes in Quagga 0.96.1
245
246 - Iron out problem with the privileges definitions
247
248 * Changes in Quagga 0.96
249
250 - Privilege support, daemons now run with the minimal privileges needed, see
251   the documentation for details.
252   
253 - NSSA ABR support in ospfd.
254
255 - OSPF-API support merged in.
256
257 - 6WIND patch merged in.
258
259 * Changes in zebra-0.93
260
261 * Changes in bgpd
262
263 ** Configuration is changed to new format.
264
265 * Changes in ospfd
266
267 ** Crush bugs which reported on Zebra ML is fixed.
268
269 ** Opaque LSA and TE LSA support is added by KDD R&D Laboratories,
270    Inc.
271
272 * Chages in ospf6d
273
274 ** Many bugs are fixed.
275
276 * Changes in zebra-0.92a
277
278 * Changes in bgpd
279
280 ** Fix "^$" community list bug.
281
282 ** Below command's Address Family specific configurations are added
283
284   nexthop-self
285   route-reflector-client
286   route-server-client
287   soft-reconfiguration inbound
288
289 * Changes in zebra
290
291 ** Treat kernel type routes as EGP routes.
292
293 * Changes in zebra-0.92
294
295 ** Overall security is improved.  Default umask is 0077.
296
297 * Changes in ripd
298
299 ** If output interface is in simple password authentication mode,
300 substruct one from rtemax.
301
302 * Changes in bgpd
303
304 ** IPv4 multicast and IPv6 unicast configuration is changed to so
305 called new config.  All of AFI and SAFI specific configuration is
306 moved to "address-family" node.  When you have many IPv6 only
307 configuration, you will see many "no neighbor X:X::X:X activate" line
308 in your configuration to disable IPv4 unicast NLRI exchange.  In that
309 case please use "no bgp default ipv4-unicast" command to suppress the
310 output.  Until zebra-0.93, old config is still left for compatibility.
311
312 Old config
313 ==========
314 router bgp 7675
315  bgp router-id 10.0.0.1
316  redistribute connected
317  network 192.168.0.0/24
318  neighbor 10.0.0.2 remote-as 7675
319  ipv6 bgp network 3ffe:506::/33
320  ipv6 bgp network 3ffe:1800:e800::/40
321  ipv6 bgp aggregate-address 3ffe:506::/32
322  ipv6 bgp redistribute connected
323  ipv6 bgp neighbor 3ffe:506:1000::2 remote-as 1
324
325 New config
326 ==========
327 router bgp 7675
328  bgp router-id 10.0.0.1
329  network 192.168.0.0/24
330  redistribute connected
331  neighbor 10.0.0.2 remote-as 7675
332  neighbor 3ffe:506:1000::2 remote-as 1
333  no neighbor 3ffe:506:1000::2 activate
334 !
335  address-family ipv6
336   network 3ffe:506::/33
337   network 3ffe:1800:e800::/40
338   aggregate-address 3ffe:506::/32
339   redistribute connected
340   neighbor 3ffe:506:1000::2 activate
341  exit-address-family
342
343 * Changes in ospfd
344
345 ** Internal interface treatment is changed.  Now ospfd can handle
346 multiple IP address for an interface.
347
348 ** Redistribution of loopback interface's address works fine.
349
350 * Changes in zebra-0.91
351
352 ** --enable-oldrib configure option is removed.
353
354 ** HAVE_IF_PSEUDO part is removed.  Same feature is now supported by
355 default.
356
357 * Changes in ripd
358
359 ** When redistributed route is withdrawn, perform poisoned reverse.
360
361 * Changes in zebra
362
363 ** When interface's address is removed, kernel route pointing out to
364 the address is removed.
365
366 ** IPv6 RIB is now based upon new RIB code.
367
368 ** zebra can handle same connected route to one interface.
369
370 ** New command for interface address.  Currently this commands are
371 only supported on GNU/Linux with netlink interface.
372
373 "ip address A.B.C.D secondary"
374 "ip address A.B.C.D label LABEL"
375
376 * Changes in bgpd
377
378 ** BGP flap dampening bugs are fixed.
379
380 ** BGP non-blocking TCP connection bug is fixed.
381
382 ** "show ip bgp summary" shows AS path and community entry number.
383
384 ** New commands have been added.
385   "show ip bgp cidr-only"
386   "show ip bgp ipv4 (unicast|multicast) cidr-only"
387   "show ip bgp A.B.C.D/M longer-prefixes"
388   "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes"
389   "show ipv6 bgp X:X::X:X/M longer-prefixes"
390   "show ipv6 mbgp X:X::X:X/M longer-prefixes"
391
392 ** IPv6 IBGP nexthop change is monitored.
393
394 ** Unknown transitive attribute is passed with partial flag bit on.
395
396 * Changes in ospfd
397
398 ** Fix bug of LSA MaxAge flood.
399
400 ** Fix bug of NSSA codes.
401
402 * Changes in zebra-0.90
403
404 ** From this beta release, --enable-unixdomain and --enable-newrib
405 becomes default.  So both options are removed from configure.in.  To
406 revert old behavior please specify below option.
407
408 --enable-tcp-zebra # TCP/IP socket is used for protocol daemon and zebra.
409 --enable-oldrib    # Turn on old RIB implementation.
410
411 Old RIB implementation will be removed in zebra-0.91.
412
413 ** From this beta release --enable-multipath is supported.  This
414 option is only effective on GNU/Linux kernel with
415 CONFIG_IP_ADVANCED_ROUTER and CONFIG_IP_ROUTE_MULTIPATH is set.
416
417 --enable-multipath=ARG  # ARG must be digit.  When ARG is 0 unlimit multipath number.
418
419 ** From this release we do not include guile files.
420
421 * Changes in lib
422
423 ** newlist.[ch] is merged with linklist.[ch].
424
425 ** Now Zebra works on MacOS X public beta.
426
427 ** Access-list can have remark.  "access-list WORD remark LINE" define
428 remark for specified access-list.
429
430 ** Key of key-chain is sorted by it's idetifier value.
431
432 ** prefix-list rule is slightly changed.  The rule of "len <= ge-value
433 <= le-value" is changed to "len < ge-value <= le-value".
434
435 ** According to above prefix-list rule change, add automatic
436 conversion function of an old rule. ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8
437 le 32
438
439 ** SMUX can handle SNMP trap.
440
441 ** In our event library, event thread is executed before any other
442 thread like timer, read and write event.
443
444 ** Robust method for writing configuration file and recover from
445 backing up config file.
446
447 ** Display "end" at the end of configuration.
448
449 ** Fix memory leak in vtysh_read().
450
451 ** Fix memroy leak about access-list and prefix-list name.
452
453 * Changes in zebra
454
455 ** UNIX domain socket server of zebra protocol is added.
456
457 ** Fix PointoPoint interface network bug.  The destination network
458 should be installed into routing table instead of local network.
459
460 ** Metric value is reflected to kernel routing table.
461
462 ** "show ip route" display uptime of RIP,OSPF,BGP routes.
463
464 ** New RIB implementation is added.
465
466 Now we have enhanced RIB (routing information base) implementation in
467 zebra.  New RIB has many new features and fixed some bugs which exist
468 in old RIB code.
469
470 *** Static route with distance value
471
472     Static route can be specified with administrative distance.  The
473   distance value 255 means it is not installed into the kernel.
474   Default value of distance for static route is 1.
475   
476     ip route A.B.C.D/M A.B.C.D <1-255>
477     ip route A.B.C.D/M IFNAME <1-255>
478   
479     If the least distance value's route's nexthop are unreachable,
480   select the least distance value route which has reachable nexthop is
481   selected.
482   
483     ip route 0.0.0.0/0 10.0.0.1
484     ip route 0.0.0.0/0 11.0.0.1 2
485   
486     In this case, when 10.0.0.1 is unreachable and 11.0.0.1 is
487   reachable.  The route with nexthop 11.0.0.1 will be installed into
488   forwarding table.
489   
490     zebra> show ip route
491     S>* 0.0.0.0/0 [2/0] via 11.0.0.1
492     S   0.0.0.0/0 [1/0] via 10.0.0.1 inactive
493   
494     If the nexthop is unreachable "inactive" is displayed.  You can
495   specify any string to IFNAME.  There is no need of the interface is
496   there when you configure the route.
497   
498     ip route 1.1.1.1/32 ppp0
499   
500   When ppp0 comes up, the route is installed properly.
501
502 *** Multiple nexthop routes for one prefix
503
504     Multiple nexthop routes can be specified for one prefix.  Even the
505   kernel support only one nexthop for one prefix user can configure
506   multiple nexthop.
507   
508     When you configure routes like below, prefix 10.0.0.1 has three
509   nexthop.
510   
511     ip route 10.0.0.1/32 10.0.0.2
512     ip route 10.0.0.1/32 10.0.0.3
513     ip route 10.0.0.1/32 eth0
514   
515     If there is no route to 10.0.0.2 and 10.0.0.3.  And interface eth0
516     is reachable, then the last route is installed into the kernel.
517   
518     zebra> show ip route
519     S>  10.0.0.1/32 [1/0] via 10.0.0.2 inactive
520                           via 10.0.0.3 inactive
521       *                   is directly connected, eth0
522   
523     '*' means this nexthop is installed into the kernel. 
524
525 *** Multipath (more than one nexthop for one prefix) can be installed into the kernel.
526
527     When the kernel support multipath, zebra can install multipath
528   routes into the kernel.  Before doing that please make it sure that
529   setting --enable-multipath=ARG to configure script.  ARG must be digit
530   value.  When specify 0 to ARG, there is no limitation of the number
531   of the multipath.  Currently only GNU/Linux with netlink interface is
532   supported.
533   
534     ip route 10.0.0.1/32 10.0.0.2
535     ip route 10.0.0.1/32 10.0.0.3
536     ip route 10.0.0.1/32 eth0
537   
538     zebra> show ip route
539     S>* 10.0.0.1/32 [1/0] via 10.0.0.2
540       *                   via 10.0.0.3
541                           is directly connected, eth0
542
543 *** Kernel message delete installed route.
544
545     After zebra install static or dynamic route into the kernel.
546   
547     R>* 0.0.0.0/0 [120/3] via 10.0.0.1
548   
549     If you delete this route outside zebra, old zebra does not reinstall
550   route again.  Now the route is re-processed and properly reinstall the
551   static or dynamic route into the kernel.
552
553 ** GNU/Linux netlink socket handling is improved to fix race condition
554 between kernel message and user command responce.
555
556 * Changes in bgpd
557
558 ** Add show neighbor's routes command.
559
560   "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes"
561   "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes"
562   "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes"
563   "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes"
564
565 ** BGP passive peer support problem is fixed.
566
567 ** Redistributed IGP nexthop is passed to BGP nexthop.
568
569 ** On multiaccess media, if the nexthop is reachable nexthop is passed
570 as it is.
571
572 ** Remove zebra-0.88 compatibility commands.
573
574   "match ip prefix-list WORD"
575   "match ipv6 prefix-list WORD"
576
577   Instead of above please use below commands.
578
579   "match ip address prefix-list WORD"
580   "match ipv6 address prefix-list WORD"
581
582 ** Fix bug of holdtimer is not reset when bgp cleared.
583
584 ** "show ip bgp summary" display peer establish/drop count.
585
586 ** Change "match ip next-hop" argument from IP address to access-list
587 name.
588
589 ** When "bgp enforce-first-as" is enabled, check EBGP peer's update
590 has it's AS number in the first AS number in AS sequence.
591
592 ** New route-map command "set community-delete COMMUNITY-LIST" is
593 added.  Community matched the CoMMUNITY-LIST is removed from the
594 community.
595
596 ** BGP-MIB implementation is finished.
597
598 ** When BGP connection comes from unconfigured IP address, close
599 socket immediately.
600
601 ** Do not compare router ID when the routes comes from EBGP peer.
602 When originator ID is same, take shorter cluster-list route.  If
603 cluster-list is same take smaller IP address neighbor's route.
604
605 ** Add "bgp bestpath as-path ignore" command.  When this option is
606 set, do not concider AS path length when route selection.
607
608 ** Add "bgp bestpath compare-routerid".  When this option is set,
609 compare router ID when the routes comes from EBGP peer.
610
611 ** Add "bgp deterministic-med" process.
612
613 ** BGP flap dampening feature is added.
614
615 ** When IBGP nexthop is changed, it is reflected to RIB.
616
617 ** Change "neighbor route-refresh" command to "neighbor capability
618 route-refresh".
619
620 * Changes in ripd
621
622 ** Change "match ip next-hop" argument from IP address to access-list
623 name.
624
625 ** "no ip rip (send|receive)" command accept version number argument.
626
627 ** Memory leak related classfull network generation is fixed.
628
629 ** When a route is in garbage collection process (invalid with metric
630 16) and a router receives the same route with valid metric then route
631 was not installed into zebra rib, but only into ripd rib. Moreover ,
632 it will never get into zebra rib, because ripd wrongly assumes it's
633 already there.
634
635 * Change in ospfd
636
637 ** Fix bug of refreshing default route.
638
639 ** --enable-nssa turn on undergoing NSSA feature.
640
641 ** Fix bug of Hello packet's option is not properly set when interface
642 comes up.
643
644 ** Reduce unconditional logging.
645
646 ** Add nexthop to OSPF path only when it is not there.
647
648 ** When there is no DR on network (suppose you have only one router
649 with interface priority 0). It's router LSA does not contain the link
650 information about this network.
651
652 ** When you change a priority of interface from/to 0
653 ISM_NeighborChange event should be scheduled in order to elect new
654 DR/BDR on the network.
655
656 ** When we add some LSA into retransmit list we need to check whether
657 the present old LSA in retransmit list is not more recent than the new
658 one.
659
660 ** In states Loading and Full the slave must resend its last Database
661 Description packet in response to duplicate Database Description
662 packets received from the master.  For this reason the slave must wait
663 RouterDeadInterval seconds before freeing the last Database
664 Description packet. Reception of a Database Description packet from
665 the master after this interval will generate a SeqNumberMismatch
666 neighbor event. RFC2328 Section 10.8
667
668 ** Virtual link can not configured in stub area.
669
670 ** Clear a ls_upd_queue queue of the interface when interface goes
671 down.
672
673 ** "no router ospf" unregister redistribution requests from zebra.
674
675 ** New command for virtual-link configuration is added.
676
677   "area A.B.C.D virtual-link A.B.C.D"
678   "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535>"
679   "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> authentication-key AUTH_KEY"
680   "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
681   "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> message-digest-key <1-255> md5 KEY"
682   "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
683
684 ** Clear cryptographic sequence number when neighbor status is changed
685 to NSM down.
686
687 ** Make Summary LSA's origination and refreshment as same as other
688 type of LSA.
689
690 ** New OSPF pakcet read method. Now maximum packet length may be 65535
691 bytes (maximum IP packet length).
692
693 ** Checking the age of the found LSA and if the LSA is MAXAGE we
694 should call refresh instead of originate.
695
696 ** Install multipath information to zebra.
697
698 ** Fix socket descriptor leak when system call failed.
699
700 * Changes in ospf6d
701
702 ** Whole functionality has been rewritten as new code. new command
703 "show ipv6 ospf6 spf node", "show ipv6 ospf6 spf tree", "show ipv6
704 ospf6 spf table" has been added.
705
706 ** Change to do not send garbage route whose nexthop is not linklocal
707 address.
708
709 ** "redistribute ospf6" was generated in "router ospf6" in config
710 file. It is fixed.
711
712 ** LSDB sync bug is fixed.
713
714 ** Fix bug of using unavailable route.
715
716 * Changes in vtysh
717
718 ** route-map and access-list configuration is merged into one
719 configuration.
720
721 ** /usr/local/etc/Zebra.conf is integrated configuration file.  "write
722 memory" in vtysh will write whole configuration to this file.
723
724 ** When -b option is specified to vtysh, vtysh read
725 /usr/local/etc/Zebra.conf file then pass the confuguration to proper
726 protocol daemon.  So make all protocol daemon's configuration file
727 empty then invoke all daemon.  After that vtysh -b will setup saved
728 configuration.
729
730 zebrastart.sh
731 =============
732 /usr/local/sbin/zebra -d
733 /usr/local/sbin/ripd -d
734 /usr/local/sbin/ospfd -d
735 /usr/local/sbin/bgpd -d
736 /usr/local/bin/vtysh -b
737
738 * Changes in zebra-0.89
739
740 * Changes in lib
741
742 ** distribute-list can set all interface's access-list and prefix-list
743 configuration.
744
745 * Changes in ripd
746
747 ** "show ip protocols" display proper distribute-list settings and
748 distance settings.
749
750 ** When metric infinity route received withdraw the route from kernel
751 immediately it used to be wait garbage collection.
752
753 ** key-chain can be used for simple password authentication.
754
755 ** RIPv2 MIB getnext interface bug is fixed.
756
757 * Changes in vtysh
758
759 ** --with-libpam enable PAM authentication for vtysh.
760
761 ** Now vtysh read vtysh.conf.  This file should be
762 ${SYSCONFDIR}/etc/vtysh.conf for security reason.  Usually it is
763 /usr/local/etc/vtysh.conf.
764
765 ** "username WORD nopassword" command is added to vtysh.
766
767 * Chagees in ospfd
768
769 ** NBMA interface support is added.
770
771 ** OSPF area is sorted by area ID.
772
773 ** New implementation of OSPF refreesh.
774
775 ** OSPF-MIB read function is partly added.
776
777 * Changes in bgpd
778
779 ** When the peering is done by ebgp-multihop, nexthop is looked up
780 like IBGP routes.
781
782 ** "show ip mbgp" commands are changed to "show ip bgp ipv4
783 multicast".
784
785 ** New terminal commands are added.
786   "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
787   "show ip bgp ipv4 (unicast|multicast) community"
788   "show ip bgp ipv4 (unicast|multicast) community-list WORD"
789   "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
790
791 ** MBGP soft-reconfiguration command is added.
792   "clear ip bgp x.x.x.x ipv4 (unicast|multicast) in"
793   "clear ip bgp x.x.x.x ipv4 (unicast|multicast) out"
794   "clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft"
795   "clear ip bgp <1-65535> ipv4 (unicast|multicast) in"
796   "clear ip bgp <1-65535> ipv4 (unicast|multicast) out"
797   "clear ip bgp <1-65535> ipv4 (unicast|multicast) soft"
798   "clear ip bgp * ipv4 (unicast|multicast) in"
799   "clear ip bgp * ipv4 (unicast|multicast) out"
800   "clear ip bgp * ipv4 (unicast|multicast) soft"
801
802 ** MED related commands are added.
803   "bgp deterministic-med"
804   "bgp bestpath med confed"
805   "bgp bestpath med missing-as-worst"
806
807 ** "bgp default local-preference" command is added.
808
809 ** BGP confederation peer's routes are passed to zebra like IBGP route.
810
811 ** Community match command is added.
812   "show ip bgp community <val>"
813   "show ip bgp community <val> exact-match"
814
815 ** EBGP multihop route treatment bug is fixed.  Now nexthop is
816 resolved by IGP routes.
817
818 ** Some commands are added to show routes by filter-list and community
819 value.
820   "show ip bgp ipv4 (unicast|multicast) filter-list WORD"
821   "show ip bgp ipv4 (unicast|multicast) community"
822   "show ip bgp ipv4 (unicast|multicast) community-list WORD"
823   "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match"
824
825 * Changes in zebra
826
827 ** zebra read interface's address information using getifaddrs() when
828 it is available.
829
830 ** Reflect IPv6 interface's address change to protocol daemons.
831
832 * Changes in zebra-0.88
833
834 * Changes in lib
835
836 ** "exact-match" option is added to "access-list" and "ipv6
837 access-list" command.  If this option is specified, the prefix and
838 prefix length is compared as exact match mode.
839
840 * Changes in zebra
841
842 ** New Zebra message ZEBRA_REDISTRIBUTE_DEFAULT_ADD and
843 ZEBRA_REDISTRIBUTE_DEFAULT_DELTE are added.
844
845 ** Default administrative distance value is changed.
846
847             Old         New
848 ------------------------------------------
849 system      10           0
850 kernel      20           0
851 connected   30           0
852 static      40           1
853 rip         50         120
854 ripng       50         120
855 ospf        60         110
856 ospf6       49         110
857 bgp         70         200(iBGP)  20(eBGP)
858 ------------------------------------------
859
860 ** Distance value can be passed from protocol daemon to zebra.
861
862 ** "show ip route" shows [metric/distance] value pair.
863
864 ** Zebra Protocol is changed to support multi-path route and distance
865 value.
866
867 * Changes in ospfd
868
869 ** "default-information originate [always]" command is added.
870
871 ** "default-metric <0-16777214>" command is added.
872
873 ** "show ip ospf database" command is integrated.  LS-ID and AdvRouter can
874    be specifed.  The commands are
875
876    show ip ospf database TYPE LS-ID
877    show ip ospf database TYPE LS-ID ADV-ROUTER
878    show ip ospf database TYPE LS-ID self-originate
879    show ip ospf database TYPE self-originate
880
881 ** route-map support for `redistribute' command are added.
882    Supported `match' statements are
883
884    match interface
885    match ip address
886    match next-hop
887
888    Supported `set' statements are
889
890    set metric
891    set metric-type
892
893 ** Pass OSPF metric value to zebra daemon.
894
895 * Changes in ripd
896
897 ** When specified route-map does not exist, it means all deny.
898
899 ** "default-metric <1-16>" command is added.
900
901 ** "offset-list ACCESS-LIST-NAME <0-16>" and "offset-list
902 ACCESS-LIST-NAME <0-16> IFNAME" commands are added.
903
904 ** "redistribute ROUTE-TYPE metric <0-16>" command is added.
905
906 ** "default-information originate" command is added.
907
908 ** "ip split-horizon" and "no ip split-horizon" is added to interface
909 configuration.
910
911 ** "no router rip" command is added.
912
913 ** "ip rip authentication mode (md5|text)" is added to interface
914 configuration.
915
916 ** "ip rip authentication key-chain KEY-CHAIN" is added to interface
917 configuration.
918
919 ** Pass RIP metric value to zebra daemon.
920
921 ** Distance manipulation functions are added.
922
923 * Changes in bgpd
924
925 ** Fix bug of next hop treatment for MPLS-VPN route exchange.
926
927 ** BGP peer MIB is updated.
928
929 ** Aggregated route has origin IGP, atomic-aggregate and proper
930 aggregator attribute.
931
932 ** Suppressed route now installed into BGP table.  It is only
933 suppressed from announcement.
934
935 ** BGP router-id is properly set after "no router bgp ASN" and "router
936 bgp ASN".
937
938 ** Add check for nexthop is accessible or not for IBGP routes.
939
940 ** Add cehck for nexthop is on connected or not for EBGP routes.
941
942 ** "dump bgp route" command is changed to "dump bgp route-mrt" for
943 generating MRT compatible dump output.
944
945 ** Soft reconfiguration inbound and outbound is supported.
946
947 ** Route refresh feature is supported.
948
949 * Changes in vtysh
950
951 ** VTY shell is now included into the distribution.
952
953 * Changes in zebra-0.87
954
955 * Changes in lib
956
957 ** "show startup-config" command is added.
958
959 ** "show history" command is added.
960
961 ** Memory statistics command is changed.  New command
962
963    show memory all
964    show memory lib
965    show memory rip
966    show memory ospf
967    show memory bgp
968
969 are added.
970
971 ** Filters can be removed only specify it's name.  New command
972
973    no access-list NAME
974    no ip community-list NAME
975    no ip as-path access-list NAME
976    no route-map NAME
977
978 are added.
979
980 ** At any node, user can view/save user configuration.
981
982    write terminal
983    write file
984    wirte memory
985
986 are added to every node in default.
987
988 ** LCD completion is added.  For example both "ip" and "ipv6" command
989 are exist, "i" then press TAB will be expanded to "ip".
990
991 * Changes in bgpd
992
993 ** "show ip bgp" family shows total number of prefixes.
994
995 ** "no bgp default ipv4-unicast" command is added.
996
997 ** Extended Communities support is added.
998
999 ** "no neighbor PEER send-community extended" command is added.
1000
1001 ** MPLS-VPN PE-RR support is added.
1002
1003  New address family vpnv4 unicast is introduced.
1004
1005   !
1006   address-family vpnv4 unicast
1007    neighobr PEER activate
1008    network A.B.C.D rd RD tag TAG
1009   exit-address-family
1010   !
1011
1012  To make it route-reflector, please configure it under normal router
1013 bgp ASN.
1014
1015   !
1016   router bgp 7675
1017    no bgp default ipv4-unicast
1018    bgp router-id 10.0.0.100
1019    bgp cluster-id 10.0.0.100
1020    neighbor 10.0.0.1 remote-as 65535
1021    neighbor 10.0.0.1 route-reflector-client
1022    neighbor 10.0.0.2 remote-as 65535
1023    neighbor 10.0.0.2 route-reflector-client
1024    neighbor 10.0.0.3 remote-as 65535
1025    neighbor 10.0.0.3 route-reflector-client
1026   !
1027   address-family vpnv4 unicast
1028    neighbor 10.0.0.1 activate
1029    neighbor 10.0.0.2 activate
1030    neighbor 10.0.0.3 activate
1031   exit-address-family
1032   !
1033
1034 * Changes in ospfd
1035
1036 ** Many many bugs are fixed.
1037
1038 * Changes in ripd
1039
1040 ** Better interface up/down event handle.
1041
1042 * Changes in zebra
1043
1044 ** Better interface up/down event handle.
1045
1046 * Changes in zebra-0.86
1047
1048 * Changes in lib
1049
1050 ** Fix bug of exec-timeout command which may cause crush.
1051
1052 ** Multiple same policy for "access-list", "ip prefix-list, "as-path
1053 access-list", "ip community-list" is not duplicated.
1054
1055 ** It used to be "ip prefix-list A.B.C.D/M" match routes which mask >=
1056 M.  Now default behavior is exact match so it only match routes which
1057 mask == M.
1058
1059 * Changes in bgpd
1060
1061 ** "match ip address prefix-list" is added to route-map.
1062
1063 ** A route without local preference is evaluated as 100 local preference.
1064
1065 ** Select smaller router-id route when other values are same.
1066
1067 ** Compare MED only both routes comes from same neighboring AS.
1068
1069 ** "bgp always-compare-med" command is added.
1070
1071 ** Now MED value is passed to IBGP peer.
1072
1073 ** When neighbor's filter is configured with non-existent access-list,
1074 as-path access-list, ip prefix-list, route-map.  The behavior is
1075 changed from all permit to all deny.
1076
1077 * Changes in ospfd
1078
1079 ** Fix bug of external route tag byte order.
1080
1081 ** OSPF Neighbor deletion bug which cause crush is fixed.
1082
1083 ** Some route calculation bug are fixed.
1084
1085 ** Add sanity check with router routing table.
1086
1087 ** Fix bug of memory leak about linklist.
1088
1089 ** Fix bug of 1-WayReceived in NSM.
1090
1091 ** Take care of BIGENDIAN architecture.
1092
1093 ** Fix bug of NSM state flapping between ExStart and Exchange.
1094
1095 ** Fix bug of Network-LSA originated in stub network.
1096
1097 ** Fix bug of MS flag unset.
1098
1099 ** Add to schedule router_lsa origination when the interface cost
1100 changes.
1101
1102 ** Increment LS age by configured interface transmit_delay.
1103
1104 ** distribute-list is reimplemented.
1105
1106 ** Fix bug of refresh never occurs.
1107
1108 ** Fix bug of summary-LSAs reorigination.  Correctly copy
1109 OSPF_LSA_APPROVED flag to new LSA. when summary-LSA is reoriginatd.
1110
1111 ** Fix bug of re-origination when a neighbor disappears.
1112
1113 ** Fix bug of segmentation fault with DD retransmission.
1114
1115 ** Fix network-LSA re-origination problem.
1116
1117 ** Fix problem of remaining withdrawn routes on zebra.
1118
1119 * Changes in ripd
1120
1121 ** Do not leave from multicast group when interface goes down bug is
1122 fixed.
1123
1124 * Changes in zebra
1125
1126 ** Remove client structure when client dies.
1127
1128 ** Take care static route when interface goes up/down.
1129
1130 * Changes in zebra-0.85
1131
1132 * Changes in bgpd
1133
1134 ** "transparent-nexthop" and "transparenet-as" commands are added.
1135
1136 ** Route reflector's originator-id bug is fixed.
1137
1138 * Changes in ospfd
1139
1140 ** Fix bug of OSPF LSA memory leak.
1141
1142 ** Fix bug of OSPF external route memory leak.
1143
1144 ** AS-external-LSA origination bug was fixed.
1145
1146 ** LS request treatment is completely rewritten.  Now performance is
1147 drastically improved.
1148
1149 * Changes in ripd
1150
1151 ** RIPv1 update is done by class-full manner.
1152
1153 * Changes in zebra-0.84b
1154
1155 * Changes in lib
1156
1157 ** Fix bug of inet_pton return value handling
1158
1159 * Changes in bgpd
1160
1161 ** Fix bug of BGP-4+ link-local address nexthop check for IBGP peer.
1162
1163 ** Don't allocate whole buffer for displaying "show ip bgp".  Now it
1164 consume only one screen size memory.
1165
1166 * Changes in ripd
1167
1168 ** Fix debug output string.
1169
1170 ** Add RIP peer handling.  RIP peer are shown by "show ip protocols".
1171
1172 * Changes in zebra-0.84a
1173
1174 * Changes in bgpd
1175
1176 ** Fix serious bug of BGP-4+ peering under IPv6 link-local address.
1177    Due to the bug BGP-4+ peering may not be established.
1178
1179 * Changes in zebra-0.84
1180
1181 * Changes in lib
1182
1183 ** IPv6 address and prefix parser is added to VTY by Toshiaki Takada
1184    <takada@zebra.org>.  DEFUN string is "X:X::X:X" for IPv6 address,
1185    "X:X::X:X/M" for IPv6 prefix.  You can use it like this.
1186
1187    DEFUN (func, cmd, "neighbor (A.B.C.D|X:X::X:X) remote-as <1-65535>")
1188
1189 ** VTY configuration is locked during configuration.  This is for
1190    avoiding unconditional crush from two terminals modify the
1191    configuration at the same time.  "who" command shows which termnal
1192    lock the configuration.  VTY which has '*' character at the head of
1193    line is locking the configuration.
1194
1195 ** Old logging functions are removed.  Functions like
1196    log_open,log_close,openlog are deleted.  Instead of that please use
1197    zlog_* functions.  zvlog_* used in ospf6d are deleted also.
1198
1199 ** "terminal monitor" command is added.  "no terminal monitor" is for
1200    disabling.  This command simply display logging information to the
1201    VTY.
1202
1203 ** dropline.[ch] files are deleted.
1204
1205 * Changes in bgpd
1206
1207 ** BGP neighbor configuration are sorted by it's IP address.
1208
1209 ** BGP peer configuration and actual peer is separated.  This is
1210    preparation for Route Server support.
1211
1212 ** "no neighbor PEER" command is added. You can delete neighbor
1213    without specifying AS number.
1214
1215 ** "no neighbor ebgp-multihop" command is added.
1216
1217 ** "no neighbor port PORT" command is added.
1218
1219 ** To conform RFC1771, "neighbor PEER send-community" is default
1220    behavior.  If you want to disable sending community attribute,
1221    please specify "no neighbor PEER send-community" to the peer.
1222
1223 ** "neighbor maximum-prefix NUMBER" command is added.
1224
1225 ** Multi-protocol extention NLRI is proceeded only when the peer is
1226    configured proper Address Family and Subsequent Address Family.  If
1227    not, those NLRI are simply ignored.
1228
1229 ** Aggregate-address support is improved.  Currently below commands
1230    works.
1231
1232   "aggregate-address"
1233   "aggregate-address summary-only"
1234   "no aggregate-address"
1235   "no aggregate-address summary-only"
1236
1237   "ipv6 bgp aggregate-address"
1238   "ipv6 bgp aggregate-address summary-only"
1239   "no ipv6 bgp aggregate-address"
1240   "no ipv6 bgp aggregate-address summary-only"
1241
1242 ** redistribute route-map bug is fixed.
1243
1244 ** MBGP support becomes default.  "configure" option --enable-mbgp is
1245    removed.
1246
1247 ** New command "neighbor PEER timers connect <1-65535>" is added.
1248
1249 ** New command "neighbor PEER override-capability" is added.
1250
1251 ** New command "show ip bgp neighbor A.B.C.D advertised-route" is added.
1252
1253 ** New command "show ip bgp neighbor A.B.C.D routes" is added.  To use
1254    this command, you have to configure neighbor with
1255    "neighbor A.B.C.D soft-reconfiguration inbound" beforehand.
1256    
1257
1258 * Changes in zebra-0.83
1259
1260 * bgpd
1261
1262 ** Serious bug fix about fetching global and link-local address at the
1263 same time.  Due to this bug, corrupted IPv6 prefix is generated.  If
1264 you uses bgpd for BGP-4+ please update to this version.  The bug is
1265 introduced in zebra-0.82.
1266
1267 ** When bgpd send Notify message, don't use thread manager.  It is now
1268 send to neighbor immediately.
1269
1270 * Changes in zebra-0.82
1271
1272 ** Solaris 2.6 support is added by Michael Handler
1273 <handler@sub-rosa.com>.
1274
1275 ** MBGP support is added by Robert Olsson <Robert.Olsson@data.slu.se>.
1276 Please specify --enable-mbgp to configure script.  This option will be
1277 removed in the future and MBGP support will be default.
1278
1279 * Changes in zebra
1280
1281 ** When interface goes down, withdraw connected routes from routing
1282 table.  When interface goes up, restore the routes to the routing
1283 table.
1284
1285 ** `show interface' show interface's statistics on Linux and BSD with
1286 routing socket.
1287
1288 ** Now zebra can get MTU value on BSDI/OS.
1289
1290 * Changes in bgpd
1291
1292 ** Add capability option support based upon
1293 draft-ietf-idr-bgp4-cap-neg-04.txt.
1294
1295 ** Add `show ipv6 bgp prefix-list' command.
1296
1297 ** Check self AS appeared in received routes.
1298
1299 ** redistribute route-map support is added.
1300
1301 ** BGP packet dump feature compatible with MRT.
1302
1303 * Changes in ripd
1304
1305 ** Fix bug of `timers basic' command's argument format.
1306
1307 * Changes in ripngd
1308
1309 ** Calculate max RTE using interface's MTU value.
1310
1311 * Changes in ospfd
1312
1313 ** Some correction to LSU processing.
1314
1315 ** Add check for lsa->refresh_list.
1316
1317 * Changes in ospf6d
1318
1319 ** Many debug feature is added.
1320
1321 * Changes in zebra-0.81
1322
1323 ** SNMP support is disabled in default.--enable-snmp option is added
1324 to configure script.
1325
1326 * Changes in bgpd
1327
1328 ** Fix FSM bug which introduced in zebra-0.80.
1329
1330 * Changes in zebra-0.80
1331
1332 * access-list
1333
1334   New access-list name space `ipv6 access-list' is added.  At the same
1335   time, `access-list' statemant only accepts IPv4 prefix.  Please be
1336   careful if you use IPv6 filtering.  You will need to change your
1337   configuration.  For IPv6 filtering please use `ipv6 access-list'.
1338   
1339   As of zebra-0.7x, user can use `access-list' for both IPv4 and IPv6
1340   filtering.
1341   
1342   ! zebra-0.7x
1343   access-list DML-net permit 203.181.89.0/24
1344   access-list DML-net permit 3ffe:506::0/32
1345   access-list DML-net deny any
1346   !
1347   
1348   Above configuration is not valid for zebra-08x.  Please add `ipv6'
1349   before 'access-list' when you configure IPv6 filtering.
1350   
1351   ! zebra-0.8x
1352   access-list DML-net permit 203.181.89.0/24
1353   access-list DML-net deny any
1354   !
1355   ipv6 access-list DML-net permit 3ffe:506::0/32
1356   ipv6 access-list DML-net deny any
1357   !
1358
1359 * prefix-list
1360
1361   And also new prefix-list name space `ipv6 prefix-list' is added.  It
1362   is the same as the change of `access-list'. `ip prefix-list' now only
1363   accept IPv4 prefix.  It was source of confusion that `ip prefix-list'
1364   can be used both IPv4 and IPv6 filtering.  Now name space is separated
1365   to clear the meaning of the filter.
1366   
1367   If you use `ip prefix-list' for IPv6 filtering, please change the
1368   stetement.
1369   
1370   ! zebra-0.7x
1371   ip prefix-list 6bone-filter seq 5 permit 3ffe::/17 le 24 ge 24
1372   ip prefix-list 6bone-filter seq 10 permit 3ffe:8000::/17 le 28 ge 28
1373   ip prefix-list 6bone-filter seq 12 deny 3ffe::/16
1374   ip prefix-list 6bone-filter seq 15 permit 2000::/3 le 16 ge 16
1375   ip prefix-list 6bone-filter seq 20 permit 2001::/16 le 35 ge 35
1376   ip prefix-list 6bone-filter seq 30 deny any
1377   !
1378   
1379   Now user can explicitly configure it as IPv6 prefix-list.
1380   
1381   ! zebra-0.8x
1382   ipv6 prefix-list 6bone-filter seq 5 permit 3ffe::/17 le 24 ge 24
1383   ipv6 prefix-list 6bone-filter seq 10 permit 3ffe:8000::/17 le 28 ge 28
1384   ipv6 prefix-list 6bone-filter seq 12 deny 3ffe::/16
1385   ipv6 prefix-list 6bone-filter seq 15 permit 2000::/3 le 16 ge 16
1386   ipv6 prefix-list 6bone-filter seq 20 permit 2001::/16 le 35 ge 35
1387   ipv6 prefix-list 6bone-filter seq 30 deny any
1388   !
1389
1390 * RIP configuration
1391
1392   If you want to filter only default route (0.0.0.0/0) and permit other
1393   routes, it was hard to do that.  Now `ip prefix-list' can be used for
1394   RIP route filtering.
1395   
1396   New statement:
1397   
1398   `distribute-list prefix PLIST_NAME (in|out) IFNAME'
1399   
1400   is added to ripd.  So you can configure on eth0 interface accept all
1401   routes other than default routes.
1402   
1403   !
1404   router rip
1405    distribute-list prefix filter-default in eth0
1406   !
1407   ip prefix-list filter-default deny 0.0.0.0/0 le 0
1408   ip prefix-list filter-default permit any
1409   !
1410
1411 * RIPng configuration
1412
1413   Same change is done for ripngd.  You can use `ipv6 prefix-list' for
1414   filtering.
1415   
1416   !
1417   router ripng
1418    distribute-list prefix filter-default in eth0
1419   !
1420   ipv6 prefix-list filter-default deny ::/0 le 0
1421   ipv6 prefix-list filter-default permit any
1422   !
1423
1424 * BGP configuration
1425
1426   So far, Multiprotocol Extensions for BGP-4 (RFC2283) configuration is
1427   done with traditional IPv4 peering statement like blow.
1428   
1429   !
1430   router bgp 7675
1431    neighbor 3ffe:506::1 remote-as 2500
1432    neighbor 3ffe:506::1 prefix-list 6bone-filter out
1433   !
1434   
1435   For separating configuration IPv4 and IPv6, and for retaining Cisco
1436   configuration compatibility, now IPv6 configuration is done by IPv6
1437   specific statement.  IPv6 BGP configuration is done by statement which
1438   start from `ipv6 bgp'.
1439   
1440   !
1441   router bgp 7675
1442   !
1443   ipv6 bgp neighbor 3ffe:506::1 remote-as 2500
1444   ipv6 bgp neighbor 3ffe:506::1 prefix-list 6bone-filter out
1445   !
1446   
1447   At the same time some IPv6 specific commands are deleted from IPv4
1448   configuration.
1449   
1450   o redistribute ripng
1451   o redistribute ospf6
1452   o neighbor PEER version BGP_VERSION
1453   o neighbor PEER interface IFNAME
1454   
1455   Those commands are only accepted as like below.
1456   
1457   o ipv6 bgp redistribute ripng
1458   o ipv6 bgp redistribute ospf6
1459   o ipv6 bgp neighbor PEER version BGP_VERSION
1460   o ipv6 bgp neighbor PEER interface IFNAME
1461   
1462   And below new commands are added.
1463   
1464   o ipv6 bgp network IPV6_PREFIX
1465   o ipv6 bgp redistribute static
1466   o ipv6 bgp redistribute connected
1467   o ipv6 bgp neighbor PEER remote-as <1-65535> [passive]
1468   o ipv6 bgp neighbor PEER ebgp-multihop [TTL]
1469   o ipv6 bgp neighbor PEER description DESCRIPTION
1470   o ipv6 bgp neighbor PEER shutdown
1471   o ipv6 bgp neighbor PEER route-reflector-client
1472   o ipv6 bgp neighbor PEER update-source IFNAME
1473   o ipv6 bgp neighbor PEER next-hop-self
1474   o ipv6 bgp neighbor PEER timers holdtime <0-65535>
1475   o ipv6 bgp neighbor PEER timers keepalive <0-65535>
1476   o ipv6 bgp neighbor PEER send-community
1477   o ipv6 bgp neighbor PEER weight <0-65535>
1478   o ipv6 bgp neighbor PEER default-originate
1479   o ipv6 bgp neighbor PEER filter-list FILTER_LIST_NAME (in|out)
1480   o ipv6 bgp neighbor PEER prefix-list PREFIX_LIST_NAME (in|out)
1481   o ipv6 bgp neighbor PEER distribute-list AS_LIST_NAME (in|out)
1482   o ipv6 bgp neighbor PEER route-map ROUTE_MAP_NAME (in|out)
1483   
1484   And some utility commands are introduced.
1485   
1486   o clear ipv6 bgp [PEER]
1487   o show ipv6 bgp neighbors [PEER]
1488   o show ipv6 bgp summary
1489   
1490   I hope these changes are easy to understand for current Zebra users...
1491
1492 * To restrict connection to VTY interface.
1493
1494   It used to be both IPv4 and IPv6 filter can be specified with one
1495   access-list.  Then the access-list can be appried to VTY interface
1496   with `access-class' stetement in `line vty' node.  Below is example in
1497   zebra-0.7x.
1498   
1499   !
1500   access-list local-only permit 127.0.0.1/32
1501   access-list local-only permit ::1/128
1502   access-list local-only deny any
1503   !
1504   line vty
1505    access-class local-only
1506   !
1507   
1508   Now IPv4 and IPv6 filter have each name space.  It is not possible to
1509   specify IPv4 and IPv6 filter with one access-list.  For setting IPv6
1510   access-list in `line vty', `ipv6 access-class' statement is
1511   introduced.  Let me show the configuration in zebra-0.8x.
1512   
1513   !
1514   access-list local-only permit 127.0.0.1/32
1515   access-list local-only deny any
1516   !
1517   ipv6 access-list local-only permit ::1/128
1518   ipv6 access-list local-only dny any
1519   !
1520   line vty
1521    access-class local-only
1522    ipv6 access-class local-only
1523   !
1524
1525 * route-map
1526
1527   New IPv6 related route-map match commands are added.
1528   
1529   o match ipv6 address
1530   o match ipv6 next-hop
1531   
1532   Please change your configuration if you use IP match statement for
1533   IPv6 route.
1534   
1535   zebra-0.7x config
1536   =================
1537   !
1538   access-list all permit any
1539   !
1540   route-map set-nexthop permit 10
1541    match ip address all
1542    set ipv6 next-hop global 3ffe:506::1
1543    set ipv6 next-hop local fe80::cbb5:591a
1544   !
1545   
1546   zebra-0.8x config
1547   =================
1548   !
1549   ipv6 access-list all permit any
1550   !
1551   route-map set-nexthop permit 10
1552    match ipv6 address all
1553    set ipv6 next-hop global 3ffe:506::1
1554    set ipv6 next-hop local fe80::cbb5:591a
1555   !
1556
1557 * zebra connection
1558
1559   Protocol daemon such as ripd, bgpd, ospfd will reconnect zebra daemon
1560   when the connection fail.  Those daemons try to connect zebra every 10
1561   seconds first three trial, then the interval changed to 60 seconds.
1562   After all, if ten connections are fail, protocol daemon give up the
1563   connection to the zebra daemon.
1564
1565 * SNMP support (is not yet finished)
1566
1567   Zebra uses SMUX protocol (RFC1227) for making communication with SNMP
1568   agent.  Currently lib/smux.c can be compiled only with ucd-snmp-4.0.1
1569   and http://ucd-snmp.ucdavis.edu/patches/012.patch.  It can not be
1570   compiled with ucd-snmp-3.6.2.
1571   
1572   After applying the patch to ucd-snmp-4.0.1, please configure it with
1573   SMUX module.
1574   
1575   % configure --with-mib-modules=smux
1576   
1577   After compile & install ucd-snmp-4.0.1, you will need to configure
1578   smuxpeer.  I'm now using below configuration.
1579   
1580   /usr/local/share/snmp/snmpd.conf
1581   ================================
1582   smuxpeer 1.3.6.1.6.3.1 test
1583   
1584   Above 1.3.6.1.6.3.1 and test is temporary configuration which is hard
1585   coded in lib/smux.c. Yes, I know it is bad, I'll change it ASAP.
1586
1587 * HUP signal treatment
1588
1589   From zebra-0.80, ripd will reload it's configuration file when ripd
1590   receives HUP signal.  Other daemon such as bgpd, ospfd will support
1591   HUP signal treatment soon.
1592
1593 * Changes in zebra-0.79
1594
1595 * Changes in zebra
1596
1597 ** Broadcast address setting on Linux box bug is fixed.
1598
1599 ** Protocol daemon can install connected IPv6 route into the kernel.
1600
1601 ** Now zebra can handle blackhole route.
1602
1603 * Changes in ripd
1604
1605 ** Add route-map feature for RIP protocol.
1606
1607 ** In case of RIP version 2 routing table entry has IPv4 address and
1608 netmask pair which host part bit is on, ignore the entry.
1609
1610 * Changes in ripngd
1611
1612 ** Change CMSG_DATA cast from (u_char *) to (int *).  (u_char *) does
1613 not work for NetBSD-currnet on SparcStation 10.
1614
1615 * Changes in ospfd
1616
1617 ** MaxAge LSA treatment is added.
1618
1619 ** ABR/ASBR functionality is added.
1620
1621 ** Virtual Link funtionality is added.
1622
1623 ** ABR behaviors IBM/Cisco/Shortcut is added.
1624
1625 * Changes in ospf6d
1626
1627 ** Enclosed KAME specific part with #ifdef #endif
1628
1629 * Changes in zebra-0.78
1630
1631 * Changes in lib
1632
1633 ** SNMP support is started.
1634
1635 ** Now Zebra can work on BSD/OS 4.X.
1636
1637 ** Now Zebra can compiled on vanilla OpenBSD 2.5 but not yet working correcltly.
1638
1639 * Changes in zebra
1640
1641 ** Interface index detection using ioctl() bug is fixed.
1642
1643 ** Interface information protocol is changed.  Now interface
1644 addition/deletion and interface's address addition/deletion is
1645 separated.
1646
1647 * Changes in bgpd
1648
1649 ** BGP hold timer bug is fixed.
1650
1651 ** BGP keepavlie timer becomes configurable.
1652
1653 * Changes in ripd
1654
1655 ** When making reply to rip's REQUEST message, fill in
1656 RIP_METRIC_INFINITY with network byte order using htonl ().
1657
1658 ** Pass host byte order address to IN_CLASSC and IN_CLASSB macro.
1659
1660 * Changes in ospfd
1661
1662 ** LSA flooding works.
1663
1664 ** Fix bug of DD processing.
1665
1666 ** Fix bug of originating router-LSA bug is fixed.
1667
1668 ** LSA structure is changed to support LSA aging.
1669
1670 * Changes in ospf6d
1671
1672 ** `ip6' statement in configuration is changed to `ipv6'.
1673
1674 * Changes in zebra-0.77
1675
1676 * Changes in lib
1677
1678 ** SIGUSR1 reopen logging file.
1679
1680 ** route-map is extended to support multi-protocol routing
1681 information.
1682
1683 ** When compiling under GNU libc 2.1 environment don't use inet6-apps.
1684
1685 * Changes in zebra
1686
1687 ** Basic IPv6 router advertisement codes added.  It is not yet usable.
1688
1689 ** Fix IPv6 route addition/deletion bug is fixed.
1690
1691 ** `show ip route A.B.C.D' works
1692
1693 * Changes in bgpd
1694
1695 ** When invalid unfeasible routes length comes, bgpd send notify then
1696 continue to process the packet.  Now bgpd stop parsing invalid packet
1697 then return to main loop.
1698
1699 ** BGP-4+ withdrawn routes parse bug is fixed.
1700
1701 ** When BGP-4+ information passed to non shared network's peer, trim
1702 link-local next-hop information.
1703
1704 ** `no redistribute ROUTE_TYPE' withdraw installed routes from BGP
1705 routing information.
1706
1707 ** `show ipv6 route IPV6ADDR' command added.
1708
1709 ** BGP start timer has jitter.
1710
1711 ** Holdtimer configuration bug is fixed.  Now configuration does not
1712 show unconfigured hold time value.
1713
1714 * Changes in ripngd
1715
1716 ** Now update timer (default 30 seconds) has +/- 50% jitter value.
1717
1718 ** Add timers basic command.
1719
1720 ** `network' configuration is dynamically reflected.
1721
1722 ** `timers basic <update> <timeout> <garbage>' added.
1723
1724 * Changes in ripd
1725
1726 ** Reconstruct almost codes.
1727
1728 ** `network' configuration is dynamically reflected.
1729
1730 ** RIP timers now conforms to RFC2453.  So user can configure update,
1731 timeout, garbage timer.
1732
1733 ** `timers basic <update> <timeout> <garbage>' works.
1734
1735 * Changes in ospfd
1736
1737 ** Bug of originating network LSA is fixed.
1738
1739 ** `no router ospf' core dump bug is fixed.
1740
1741 * Changes in ospf6d
1742
1743 ** Redistribute route works.
1744
1745 * Changes in zebra-0.76
1746
1747 * Changes in lib
1748
1749 ** configure.in Linux IPv6 detection problem is fixed.
1750
1751 ** Include SERVICES file to the distribution
1752
1753 ** Update zebra.texi to zebra-0.76.
1754
1755 * Changes in zebra-0.75
1756
1757 * Changes in lib
1758
1759 ** `termnal length 0' bug is fixed.
1760
1761 * Changes in zebra
1762
1763 ** When zebra starts up, sweep all zebra installed routes.  If -k or
1764 --keep_kernel option is specified to zebra dameon.  This function is
1765 not performed.
1766
1767 * Changes in ripngd
1768
1769 ** Aggreagte address command supported.  In router ripngd,
1770 `aggregate-address IPV6PREFIX' works.
1771
1772 * Changes in bgpd
1773
1774 ** Input route-map's bug which cause segmentation violation is fixed.
1775
1776 ** route-map method improved.
1777
1778 ** BGP-4+ nexthop detection improved.
1779
1780 ** BGP-4+ route re-selection bug is fixed.
1781
1782 ** BGP-4+ iBGP route's nexthop calculation works.
1783
1784 ** After connection Established `show ip bgp neighbor' display BGP TCP
1785 connection's source and destination address.
1786
1787 ** In case of BGP-4+ `show ip bgp neighbor' display BGP-4+ global and
1788 local nexthop which used for originated route.  This address will be
1789 used when `next-hop-self'.
1790
1791 * Changes in ospfd
1792
1793 ** Fix bug of DR election.
1794
1795 ** Set IP precedence field with IPTOS_PREC_INTERNET_CONTROL.
1796
1797 ** Schedule NeighborChange event if NSM status change.
1798
1799 ** Never include a neighbor in Hello packet, when the neighbor goes
1800 down.
1801
1802 * Changes in zebra-0.74
1803
1804 * Changes in lib
1805
1806 ** Now `terminal length 0' means no line output control.
1807
1808 ** `line LINES' command deleted.  Instead of this please use `terminal
1809 length <0-512>'.
1810
1811 ** `terminal length <0-512>' is each vty specific configuration so it
1812 can not be configured in the configuration file.  If you want to
1813 configure system wide line control, please use `service
1814 terminal-length <0-512>'.  This configuration affects to the all vty
1815 interface.
1816
1817 * Changes in zebra
1818
1819 ** Installation of IPv6 route bug is fixed.
1820
1821 * Changes in bgpd
1822
1823 ** Very serious bug of bgp_stop () is fixed. When multiple route to
1824 the same destination exist, bgpd try to announce the information to
1825 stopped peer.  Then add orphan write thread is added.  This cause
1826 many strange behavior of bgpd.
1827
1828 ** Router-id parsing bug is fixed.
1829
1830 ** With BGP-4+ nexthop installation was done with global address but
1831 it should be link-local address.  This bug is fixed now.
1832
1833 ** When incoming route-map prepend AS, old AS path remained.  Now bgpd
1834 free old AS path.
1835
1836 ** `neighbor PEER weight <0-65535>' command added.
1837
1838 * Changes in ripngd
1839
1840 ** Almost codes are rewritten to conform to RFC2080.
1841
1842 * Changes in ospfd
1843
1844 ** SPF calculation timer is added.  Currently it is set to 30 seconds.
1845
1846 ** SPF calculation works now.
1847
1848 ** OSPF routing table codes are added.
1849
1850 ** OSPF's internal routes installed into the kernel routing table.
1851
1852 ** Now `ospfd' works as non-area, non-external route support OSPF
1853 router.
1854
1855 ** Call of log_rotate() is removed.
1856
1857 * Changes in ospf6d
1858
1859 ** LSA data structure is changed.
1860
1861 ** Call of log_rotate() is removed.
1862
1863 * Changes in zebra-0.73
1864
1865 * Changes in lib
1866
1867 ** `config terminal' is changed to `configure terminal'.
1868
1869 ** `terminal length <0-512>' command is added.
1870
1871 ** Variable length argument was specified by `...'.  Now all strings
1872 started with character `.' is variable length argument.
1873
1874 * Changes in zebra
1875
1876 ** Internal route (such as iBGP, internal OSPF route) handling works
1877 correctly.
1878
1879 ** In interface node, `ipv6 address' and `no ipv6 address' works.
1880
1881 ** Interface's address remain after `no ip address' bug is fixed.
1882
1883 ** Host route such as IPv4 with /32 mask and IPv6 with /128 mask
1884 didn't set RTF_GATEWAY even it has gateway.  This bug if fixed now.
1885
1886 * Changes in bgpd
1887
1888 ** `match as-path' argument is used to be specify AS PATH value itself
1889 directly (e.g. ^$).  But it is changed to specify `ip as-apth
1890 access-list' name.
1891
1892 ** iBGP route handle works without getting error from the kernel.
1893
1894 ** `set aggregator as AS A.B.C.D' command is added to route-map.
1895
1896 ** `set atomic-aggregate' command is added to bgpd's routemap.
1897
1898 ** Announcement of atomic aggregate attribute and aggregator attribute
1899 works.
1900
1901 ** `update-source' bug is fixed.
1902
1903 ** When a route learned from eBGP is announced to iBGP, local
1904 preference was set to zero.  But now it set to
1905 DEFAULT_LOCAL_PREF(100).
1906
1907 * Changes in ripd
1908
1909 ** RIPv1 route filter bug is fixed.
1910
1911 ** Some memory leak is fixed.
1912
1913 * Changes in ospfd
1914
1915 ** Fix bug of DR Election.
1916
1917 ** Fix bug of adjacency forming.
1918
1919 * Changes in ospf6d
1920
1921 ** Clean up logging message.
1922
1923 ** Reflect routing information to zebra daemon.
1924
1925 * Changes in zebra-0.72
1926
1927 * Changes in lib
1928
1929 ** When getsockname return IPv4 mapped IPv6 address.  Convert it to
1930 IPv4 address.
1931
1932 * Changes in bgpd
1933
1934 ** Change route-map's next-hop related settings.
1935
1936 set ip nexthop          -> set ip next-hop
1937 set ipv6 nexthop global -> set ipv6 next-hop global
1938 set ipv6 nexthop local  -> set ipv6 next-hop local
1939
1940 ** Add `next-hop-self' command.
1941
1942 * Changes in ospfd
1943
1944 ** Fix bug of multiple `network area' directive crashes.
1945
1946 * Changes in zebra-0.71
1947
1948 * Changes in lib
1949
1950 ** `log syslog' command is added.
1951
1952 ** Use getaddrinfo function to bind IPv4/IPv6 server socket.
1953
1954 ** `no banner motd' will suppress motd output when user connect to VTY.
1955
1956 ** Bind `quit' command to major nodes.
1957
1958 * Changes in zebra
1959
1960 ** Point-to-point link address handling bug is fixed.
1961
1962 * Changes in bgpd
1963
1964 ** AS path validity check is added.  If malformed AS path is received
1965 NOTIFY Malformed AS path is send to the peer.
1966
1967 ** Use getaddrinfo function to bind IPv4/IPv6 server socket.
1968
1969 * Changes in ripd
1970
1971 ** Connected network announcement bug is fixed.
1972
1973 ** `broadcast' command is deleted.
1974
1975 ** `network' command is added.
1976
1977 ** `neighbor' command is added.
1978
1979 ** `redistribute' command is added.
1980
1981 ** `timers basic' command is added.
1982
1983 ** `route' command is added.
1984
1985 * Changes in ripngd
1986
1987 ** Fix metric calculation bug.
1988
1989 * Changes in ospfd
1990
1991 ** Check sum bug is fixed.
1992
1993 * Chanegs in ospf6d
1994
1995 ** Routing table code is rewritten.
1996
1997 * Changes in zebra-0.70
1998
1999 * Changes in zebra
2000
2001 ** Critical routing information base calculation bug check is fixed.
2002
2003 ** zebra ipv4 message is extended to support external/internal route
2004 flavor.
2005
2006 ** Now if internal route doesn't has direct connected nexthop, then
2007 nexthop is calculated by looking up IGP routing table.
2008
2009 * Changes in bgpd
2010
2011 ** `neighbor PEER update-source IFNAME' command added as ALIAS to
2012 `neighbor PEER interface IFNAME'.
2013
2014 * Changes in ospfd
2015
2016 ** DD null pointer bug is fixed.
2017
2018 * Changes in zebra-0.69
2019
2020 * Changes in zebra
2021
2022 ** zebra redistirbution supports dynamic notification of the route
2023 change.  If you add static route while running zebra, it will be
2024 reflected to other protocol daemon which set `redistribute static'.
2025
2026 ** If static route installation is failed due to the error.  The
2027 static route is not added to the configuration and zebra routing
2028 table.
2029
2030 ** zebra sets forwarding flag to on when it starts up.
2031
2032 ** `no ip forwarding' turn off IPv4 forwarding.
2033
2034 ** `no ipv6 forwarding' turn off IPv6 forwarding.
2035
2036 ** Change `show ipforward' command to `show ip forwarding'.
2037
2038 ** Change `show ipv6forward' command to `show ipv6 forwarding'.
2039
2040 ** `ip route A.B.C.D/M INTERFACE' works.  So you can set `ip route
2041 10.0.0.0/8 eth0'.
2042
2043 * Changes in bgpd
2044
2045 ** `neighbor PEER send-community' command is added.  If the option is
2046 set, bgpd will send community attribute to the peer.
2047
2048 ** When a BGP route has no-export community attribute and
2049 send-community is set to the peer, the route is not announced to the
2050 peer.
2051
2052 * Changes in ripngd
2053
2054 ** When ripngd terminates, delete all installed route.
2055
2056 ** `redistribute static', `redistribute connected' works.
2057
2058 ** Change `debug ripng event' to `debug ripng events'.
2059
2060 ** Change `show debug ripng' to `show debugging ripng'.
2061
2062 ** Bug of static route deletion is fixed.
2063
2064 * Changes in ospfd
2065
2066 ** LS request and LS update can be send and received.
2067
2068 * Changes in zebra-0.68
2069
2070 * Changes in lib
2071
2072 ** DEFUN() is extended to support (a|b|c) statement.
2073
2074 ** Input buffer overflow bug is fixed.
2075
2076 * Changes in bgpd
2077
2078 ** `ip community-list' is added.
2079
2080 ** set community and match community is added to route-map statement.
2081
2082 ** aggregate-address A.B.C.D/M partly works.  Now it works only
2083 summary-only mode.
2084
2085 * Changes in zebra
2086
2087 ** IPv6 network address delete bug is fixed.
2088
2089 * Changes in ospfd
2090
2091 ** DR election bug fixed.
2092
2093 ** Now Database Description can be send or received.
2094
2095 ** Neighbor State Machine goes to Full state.
2096
2097 * Changes in ospf6d
2098
2099 ** router zebra related bug is fixed.
2100
2101 * Changes in zebra-0.67
2102
2103 * Changes in lib
2104
2105 ** `service password-encryption' is added for encrypted password.
2106
2107 * Changes in bgpd
2108
2109 ** `set as-path prepend ASPATH' is added to route-map command.
2110
2111 ** `set weight WEIGHT' is added to route-map command.
2112
2113 ** `no set ipv6 nexthop global' and `no set ipv6 nexthop local'
2114 command is added to route-map.
2115
2116 ** `neighbor IP_ADDR version BGP_VERSION' command's BGP_VERSION
2117 argument changed.
2118
2119 Old               New
2120 =====================
2121 bgp4              4
2122 bgp4+             4+
2123 bgp4+-draft-00    4-
2124 =====================
2125
2126 If you want to peer with old draft version of BGP-4+, please configure
2127 like below:
2128
2129 router bgp ASN
2130  neighbor PEER version 4-
2131
2132 ** Some AS path isn't correctly compared during route selection.  Now
2133 it is fixed.
2134
2135 * Changes in ospfd
2136
2137 ** `router zebra' is default behavior.
2138
2139 * Changes in ospf6d
2140
2141 ** `router zebra' is default behavior.
2142
2143 * Changes in zebra-0.66
2144
2145 * Changes in zebra
2146
2147 ** When other daemon such as gated install routes into the kernel then
2148 zebra blocks.  This is only occur with netlink socket.  Now socket is
2149 set as NONBLOCKING and problem is fixed.  Reported and fixed by
2150 Patrick Koppen <koppen@rhrk.uni-kl.de>
2151
2152 * Changes in bgpd
2153
2154 ** Now `router zebra' is not needed to insert BGP routes into the
2155 kernel.  It is default behavior.  If you don't want to install the BGP
2156 routes to the kernel, please configure like below:
2157
2158 !
2159 router zebra
2160  no redistribute bgp
2161 !
2162
2163 ** redistribute connected works.
2164
2165 ** redistribute static now filter local loopback routes and link local
2166 network.
2167
2168 * Changes in ripd
2169
2170 ** Some network check is added.  Patch is done by Carlos Alberto
2171 Barcenilla <barce@frlp.utn.edu.ar>
2172
2173 * Changes in ripngd
2174
2175 ** Sometimes ripngd install wrong nexthop into the kernel.  This bug
2176 is fixed now.
2177
2178 ** Now `router zebra' is not needed to insert RIPng routes into the
2179 kernel.  It is default behavior. If you don't want to install the BGP
2180 routes to the kernel, please configure like below:
2181
2182 !
2183 router zebra
2184  no redistribute ripng
2185 !
2186
2187 * Changes in zebra-0.65
2188
2189 * Changes in lib
2190
2191 ** `C-c' changes current node to ENABLE_NODE.  Previously it doesn't.
2192
2193 ** In ENABLE_NODE, `exit' command close vty connection.
2194
2195 ** `service advanced-vty' enable advanced vty function.  If this
2196 service is specified one can directly connect to ENABLE_NODE when
2197 enable password is not set.
2198
2199 ** `lines LINES' command is added by Stephen R. van den Berg
2200 <srb@cuci.nl>.
2201
2202 * Changes in zebra
2203
2204 ** Basic Linux policy based routing table support is added by Stephen
2205 R. van den Berg <srb@cuci.nl>.
2206
2207 * Changes in bgpd
2208
2209 ** route-map command is improved:
2210   `match ip next-hop': New command.
2211   `match metric': New command.
2212   `set metric': Doc fixed.
2213   `set local-preference': DEFUN added.
2214
2215 * Changes in ripd
2216
2217 ** Check of announced network is added.  Now multicast address is
2218 filtered.  Reported by Carlos Alberto Barcenilla
2219 <barce@frlp.utn.edu.ar>
2220
2221 ** Check of network 127 is added.  Reported by Carlos Alberto
2222 Barcenilla <barce@frlp.utn.edu.ar>
2223
2224 * Changes in ripngd
2225
2226 ** Aging route bug is fixed.
2227
2228 ** `router zebra' semantics changed.  ripngd automatically connect to
2229 zebra.
2230
2231 * Changes in ospfd
2232
2233 ** `no router ospf' works.
2234
2235 * Changes in ospf6d
2236
2237 ** Bug fix about network vertex.
2238
2239 * Changes in zebra-0.64.1.
2240
2241 This is bug fix release.
2242
2243 * Changes in lib
2244
2245 ** Add check of sin6_scope_id in struct sockaddr_in6.  For compilation
2246 on implementation which doesn't have sin6_scope_id.  Reported by Wim
2247 Biemolt <Wim.Biemolt@ipv6.surfnet.nl>.
2248
2249 * Changes in zebra
2250
2251 ** Fix bug of display BGP routes as "O" instead of "B".  Reported by
2252 "William F. Maton" <wmaton@enterprise.ic.gc.ca> and Dave Hartzell
2253 <hartzell@greatplains.net>.
2254
2255 * Changes in bgpd
2256
2257 ** `no network IPV6_NETWORK' statement and `no neighbor IP_ADDR timers
2258 holdtime [TIMER]' statement doesn't work. Reported by Georg Hitsch
2259 <georg@atnet.at>.  Now both statement work.
2260
2261 * Changes in ospfd
2262
2263 ** Last interface is not updated by ospf_if_update().  Reported by
2264 Dave Hartzell <hartzell@greatplains.net>.
2265
2266 * Changes in ospf6d
2267
2268 ** Byte order of ifid is changed.  Due to this change, this code will
2269 not work with previous version, sorry.
2270
2271 ** Fix `show ip route' route type mismatch.
2272
2273 ** Fix bug of no network IPV6_NETWORK.
2274
2275 ** Important bug fix about intra-area-prefix-lsa.
2276
2277 * Changes in zebra-0.64.
2278
2279 * Changes in lib
2280
2281 ** prefix-list based filtering routine is added.  Currently used in
2282 bgpd but it will be in other daemons.
2283
2284 * Changes in bgpd
2285
2286 ** `no router bgp' works.  But network statement is not cleared.  This
2287 should be fixed in next beta.
2288
2289 ** Route reflector related statement is added.
2290
2291   router bgp ASN
2292     bgp cluster-id a.b.c.d
2293     neighbor a.b.c.d route-reflector-client
2294
2295   is added.
2296
2297 ** Prefix list based filtering is added.
2298
2299   router bgp ASN
2300     neighbor a.b.c.d prefix-list PREFIX_LIST_NAME
2301
2302 ** Prefix list based routing display works.
2303
2304   show ip bgp prefix-list PREFIX_LIST_NAME
2305
2306 * Changes in ripd
2307
2308 ** Fix route metric check bug.  Reported from Mr. Carlos Alberto
2309 Barcenilla.
2310
2311 * Changes in ospf6d
2312
2313 ** There are many changes.  If you have interested in ospf6d please
2314 visit ospf6d/README file.
2315
2316 * Changes in zebra-0.63 first beta package.
2317
2318 * Changes in lib
2319
2320 ** `copy running-config stgartup-config' command is added.
2321
2322 ** prefix length check bug is fixed.  Thanks Marlos Barcenilla
2323 <barce@frip.utn.edu.ar>.
2324
2325 * Changes in ospfd
2326
2327 ** DR and BDR election works.
2328
2329 ** OSPF Hello simple authentication works.
2330
2331 * Changes in ospf6d
2332
2333 ** Now ospf6d can be compiled on both Linux and *BSD system.
2334
2335 * Changes in zebra-19990420 snapshot
2336
2337 ** `make dist' at top directory works now.
2338
2339 * Changes in lib
2340
2341 ** VTY has now access-class to restrict remote connection.
2342 Implemented by Alex Bligh <amb@gxn.net>.
2343
2344 !
2345 line vty
2346   access-class ACCESS-LIST-NAME
2347 !
2348
2349 ** `show version' command added.  Implemented by Carlos Alberto
2350 Barcenilla <barce@frlp.utn.edu.ar>
2351
2352 * Changes in zebra
2353
2354 ** `ip address' command on *BSD bug is fixed.
2355
2356 ** `no ip address' works now for IPv4 address.
2357
2358 ** Now `write terminal' display `ip address' configuration.
2359
2360 * Changes in bgpd
2361
2362 ** Redistribute static works now.  Please run both zebra and bgpd.
2363 bgpd.conf should be like this:
2364
2365 !
2366 router zebra
2367 !
2368 router bgp ASN
2369   redisitribute static
2370 !
2371
2372 * Changes in guile
2373
2374 ** configure --enable-guile turns on zebra-guile build.
2375
2376 ** (router-bgp ASN) allocates real bgp structre.
2377
2378 * Changes in zebra-19990416 snapshot
2379
2380 ** Set version to 0.60 for preparation of beta release.
2381
2382 ** New directory guile is added for linking with guile interpreter.
2383
2384 * Changes in zebra
2385
2386 ** On GNU/Linux Kernel 2.2.x (with netlink support), zebra detects
2387 asynchronous routing updates.  *BSD support is not yet finished.
2388
2389 * Changes in bgpd
2390
2391 ** `show ip bgp regexp ASPATH_REGEX' uses CISCO like regular expression 
2392 instead of RPSL like regular expression.  I'm planing to provide RPSL
2393 like regular expression with `show ip bgp rpsl' or something.
2394
2395 * Changes in lib
2396
2397 ** Press '?' at variable mandatory argument, vty prints nothing.  Now
2398 vty outputs description about the argument.  Fixed by Alex Bligh
2399 <amb@gxn.net>
2400
2401 ** buffer.c has some ugly bugs.  Due to the bug, vty interface hangs
2402 when large output date exists.  This bug is fixed. Reported by Alex
2403 Bligh <amb@gxn.net>.
2404
2405 * Changes in ospfd
2406
2407 ** DR and BDR information is shown by `show ip ospf interface' command.
2408
2409 * Changes in zebra-19990408 snapshot
2410
2411 * Changes in bgpd
2412
2413 ** Old BGP-4+ specification (described in old draft) treatment bug is
2414 fixed.  It seems that mrtd uses this format as default.  So if you
2415 have problem peering with mrtd and want to use old draft format please
2416 use version statement like this.
2417
2418 neighbor PEER_ADDRESS remote-as ASN
2419 neighbor PEER_ADDRESS version bgp4+-draft-00
2420
2421 ** When AS path is epmty (routes generated by bgpd), SEGV is occur
2422 when announce the routes to eBGP peer.  Reported by
2423 kad@gibson.skif.net.
2424
2425 ** ip as-path access-list command is added.
2426
2427 ** neighbor PEER_ADDRESS filter-list AS_LIST [in|out] command is added.
2428
2429 ** neighbor PEER_ADDRESS timers holdtimer TIMER command is added.
2430
2431 * Changes in all daemons
2432
2433 ** With KAME stack, terminal interface is now bind AF_INET socket
2434 instead of AF_INET6 one.
2435
2436 * Changes in zebra-19990403 snapshot
2437
2438 * Changes in bgpd
2439
2440 ** When bgpd has 'router zebra', bgpd automatically select it's router
2441 ID as most highest interface's IP Address.
2442
2443 ** When AS path is empty (in case of iBGP), it doesn't include any AS
2444 segment.  This change is for announcement to gated under iBGP.
2445
2446 * Changes in ospfd
2447
2448 ** OSPF hello packet send/receive works.
2449
2450 * Changes in ospf6d
2451
2452 ** Yasuhiro Ohara's ospf6d codes is imported.  It is under development
2453 and can't be compiled on any platform.
2454
2455 * Changes in zebra-19990327 snapshot
2456
2457 * Changes in bgpd
2458
2459 ** When BGP-4+ connection is done by IPv6 link-local address.  One
2460 have to specify interface index for the connection.  So I've added
2461 interface statement to the neighbor commmand.  Please specify
2462 interface name for getting interface index like below.  This statement
2463 only works on GNU/Linux.  I'll support BSD ASAP.
2464
2465 router bgp 7675
2466  neighbor fe80::200:f8ff:fe01:5fd3 remote-as 2500
2467  neighbor fe80::200:f8ff:fe01:5fd3 interface sit3
2468
2469 ** For disable BGP peering `shutdown' command is added.
2470
2471 router bgp 7675
2472  neighbor 10.0.0.1 shutdown
2473
2474 ** `description' command is added to neighbor statement.
2475
2476 router bgp 7675
2477  neighbor 10.0.0.1 description peering with Norway.
2478
2479 ** `show ip bgp regexp AS-REGEXP' works again.
2480
2481 show ip bgp regexp AS7675
2482
2483 will show routes which include AS7675.
2484
2485 ** When a route which is made from `network' statement is send to
2486 neighbor.  Set it's nexthop to self.  So 10.0.0.0/8 is announced to
2487 the peer A with source address 192.168.1.1.  The routes nexthop is set
2488 to 192.168.1.1.
2489
2490 * Changes in zebra
2491
2492 ** In zebra/rtread_sysctl.c, function rtm_read() may overrun allocated
2493 buffer when the address family is not supported and the length is big
2494 (i.e link address).  Reported Achim Patzner <ap@bnc.net>.
2495
2496 * Changes in ospfd
2497
2498 ** Now ospfd receive OSPF packet.
2499
2500 * Changes in zebra-19990319 snapshot
2501
2502 * Changes in configuration and libraries
2503
2504 ** User can disable IPv6 feature and/or pthread feature by configure
2505    option.
2506
2507   To disable IPv6:    configure --disable-ipv6
2508   To disable pthread: configure --disable-pthread
2509
2510 ** User can disable specified daemon by configure option.
2511
2512   Don't make zebra:  configure --disable-zebra
2513   Don't make bgpd:   configure --disable-bgpd
2514   Don't make ripd:   configure --disable-ripd
2515   Don't make ripngd: configure --disable-ripngd
2516   Don't make ospfd:  configure --disable-ospfd
2517   Don't make ospf6d: configure --disable-ospf6d
2518
2519 ** Sample configuration files are installed as 600 file flag.
2520    Suggested by Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>.
2521
2522 ** syslog logging feature is added by Peter Galbavy
2523    <Peter.Galbavy@knowledge.com>
2524
2525 ** Inclusion of standard header files is reworked by Peter Galbavy
2526    <Peter.Galbavy@knowledge.com>
2527
2528 ** Change description from GNU/Linux 2.1.X to GNU/Linux 2.2.X
2529
2530 ** If daemon function exists in standard C library use it.
2531
2532 ** To generate configure script we upgrade autoconf to 2.13.  To
2533 generate Makefile.in we upgrade automake to 1.4.
2534
2535 ** doc/texinfo.tex is added to distribution.
2536
2537 ** Update ports/pkg/DESCR description.
2538
2539 ** Update doc/zebra.texi.
2540
2541 ** logfile FILENAME statement deleted.  Instead of that please use log
2542 file FILENAME.
2543
2544 * Changes in zebra
2545
2546 * Changes in bgpd
2547
2548 ** Communication between zebra and bgpd works now.  So if there is
2549    `router zebra' line in bgpd.conf, selected route is installed
2550    into kernel routing table.
2551
2552 ** Delete all routes which inserted by bgpd when bgpd dies.  If you
2553 want to retain routes even bgpd dies please specify [-r|--retain]
2554 option to bgpd.
2555
2556 ** BGP announcement code is reworked.  Now bgpd announce selected
2557    routes to other peer.
2558
2559 ** All output bgp packet is buffered.  It's written to the socket when
2560    it gets ready.
2561
2562 ** Output route-map works now.  You can specify output route-map by:
2563
2564    neighbor IP_ADDR route-map ROUTE_MAP_NAME out
2565
2566 ** New route-map command added.
2567
2568    set ip nexthop IP_ADDR
2569    set ipv6 nexthop global IP_ADDR
2570
2571 ** Fix bug about unlock of the route_node structure.
2572
2573 ** BGP-4+ support is added.  bgpd can listen and speak BGP-4+ packet
2574 specified in RFC2283. You can view IPv6 bgp table by: `show ipv6 bgp'.
2575
2576 ** Meny packet overflow check is added.
2577
2578 * Changes in ripd
2579
2580 * Changes in ripngd
2581
2582 * Changes in ospfd
2583
2584 ** ospfd work is started by Toshiaki Takada <takada@zebra.org>.  Now
2585 several files are included in ospfd directory.
2586
2587 ** ospf6d codes are merged from Yasuhiro Ohara <yasu@sfc.wide.ad.jp>'s
2588 ospfd work.  Now codes are located in ospf6d directory.
2589
2590
2591 Local variables:
2592 mode: outline
2593 paragraph-separate: "[  ]*$"
2594 end: