Quagga is an open source GPL licensed IPv4/IPv6 routing software, originally forked off of the zebra project.

The supported routing protocols are

Quagga also supports special BGP Route Reflector and Route Server behavior. With SNMP daemon which supports SMUX protocol, Quagga provides routing protocol MIBs. IPv6 routing is fully supported in RIPng, OSPFv3 and BGP-4+.

IPv6 router advertisement

One can enable IPv6 router and prefix advertisements on a given interface:

    interface eth0
        ! do not suppress IPv6 router advertisements
        no ipv6 nd suppress-ra
        ! include IPv6 prefix in router advertisements
        ipv6 nd prefix dead:beef::/64


RIPng which is an IPv6-enabled RIP protocol is supported according to RFC 2080 in the ripngd daemon. Here follows a sample configuration (/etc/quagga/ripngd.conf):

    ! enable ripng
    router ripng
        ! Set RIPng enabled interface by name
        network sit1
        ! Set RIPng static routing announcemenet to the enabled interface(s)
        route dead:beef::/64
        ! Set an access-list on routing announcements (in or out) to a given interface
        distribute-list local-only out sit1


The ospf6d daemon supports OSPF version 3 (RFC 2740) for IPv6 network. A sample configuration (/etc/quagga/ospf6d.conf):

    ! enable ospfv3 (ospf6!) routing
    router ospf6
        ! set unique router id
        ! bind interface to specific area
        interface eth0 area
        interface eth1 area
        ! redistribute route static/connected/ripng/kernel route
        redistribute kernel
    ! interface specific OSPFv3 settings
    interface eth0
        ! set cost manually
        ipv6 ospf6 cost 100

VTY access

Quagga supports access to the routing daemons via virtual teletype (VTY) interfaces. To enable a VTY interface for a daemon one must set the password for the VTY (in the example in /etc/quagga/ospf6d.conf):

    ! hostname to display at the prompt
    hostname ospf6d
    ! password
    password secret
    ! admin password
    enable password very-secret

Please note, the IPv4 routing daemons can be reached at the IPv4 loopback interface address while the IPv6 routing daemons at the IPv6 loopback interface address:

    % telnet ::1 ospf6d
    Trying ::1...
    Connected to ::1.
    Escape character is '^]'.

    Hello, this is Quagga (version 0.99.2).
    Copyright 1996-2005 Kunihiro Ishiguro, et al.

    User Access Verification

    Password: <type 'secret'>
    ospf6d> enable
    Password: <type 'very-secret'>

Campus6: quaggaguide (last edited 2008-04-10 15:29:40 by localhost)