@node RIPng
@chapter RIPng

@command{ripngd} supports the RIPng protocol as described in RFC2080.  It's an
IPv6 reincarnation of the RIP protocol.

@menu
* Invoking ripngd::             
* ripngd Configuration::        
* ripngd Terminal Mode Commands::  
* ripngd Filtering Commands::   
@end menu

@node Invoking ripngd
@section Invoking ripngd

There are no @code{ripngd} specific invocation options.  Common options
can be specified (@pxref{Common Invocation Options}).

@node ripngd Configuration
@section ripngd Configuration

Currently ripngd supports the following commands:

@deffn Command {router ripng} {}
Enable RIPng.
@end deffn

@deffn {RIPng Command} {flush_timer @var{time}} {}
Set flush timer.
@end deffn

@deffn {RIPng Command} {network @var{network}} {}
Set RIPng enabled interface by @var{network}
@end deffn

@deffn {RIPng Command} {network @var{ifname}} {}
Set RIPng enabled interface by @var{ifname}
@end deffn

@deffn {RIPng Command} {route @var{network}} {}
Set RIPng static routing announcement of @var{network}.
@end deffn

@deffn Command {router zebra} {}
This command is the default and does not appear in the configuration.
With this statement, RIPng routes go to the @command{zebra} daemon.
@end deffn

@node ripngd Terminal Mode Commands
@section ripngd Terminal Mode Commands

@deffn Command {show ip ripng} {}
@end deffn

@deffn Command {show debugging ripng} {}
@end deffn

@deffn Command {debug ripng events} {}
@end deffn

@deffn Command {debug ripng packet} {}
@end deffn

@deffn Command {debug ripng zebra} {}
@end deffn

@node ripngd Filtering Commands
@section ripngd Filtering Commands

@deffn Command {distribute-list @var{access_list} (in|out) @var{ifname}} {}
You can apply an access-list to the interface using the
@code{distribute-list} command.  @var{access_list} is an access-list
name.  @var{direct} is @samp{in} or @samp{out}.  If @var{direct} is
@samp{in}, the access-list is applied only to incoming packets.

@example
distribute-list local-only out sit1
@end example
@end deffn
