File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / NEWS
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 9 09:22:28 2012 UTC (11 years, 8 months ago) by misho
Branches: quagga, MAIN
CVS tags: v0_99_21, HEAD
quagga

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>