File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / NEWS
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jul 21 23:54:36 2013 UTC (11 years ago) by misho
Branches: quagga, MAIN
CVS tags: v0_99_22p0, v0_99_22, HEAD
0.99.22

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

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