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