File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / NEWS
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:26:11 2012 UTC (12 years, 4 months ago) by misho
Branches: quagga, MAIN
CVS tags: v0_99_20_1, v0_99_20, HEAD
quagga

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

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