=head1 NAME

ciscoospf2yaml - convert Cisco OSPF LSDB to YAML file

=head1 SYNOPSIS

ciscoospf2yaml
[-B F<boundary>]
[-E F<external>]
[-h]
[-H user@host]
[-I F<selfid>]
[-N F<network>]
[-R F<router>]
[-S F<summary>]
[F<ospf.yaml>]

=head1 DESCRIPTION

ciscoospf2yaml takes the OSPF link state database of a Cisco IOS
router and converts it into a YAML file.

The several input files containing the LSDB can be passed via command
line.
If a file is not given, B<ssh> to the router is invoked gather the
information dynamically.
For that the user C<ospf> must be allowed to log into the Cisco
router.

Optionally one output file can be given on command line, otherwise
stdout is used.

The options are as follows:

=over 4

=item -B F<boundary>

File describing the AS boundary routers summary-LSAs.
It can be obtained with B<show ip ospf database asbr-summary>.

=item -E F<external>

File describing the AS-external-LSAs.
It can be obtained with B<show ip ospf database external>.

=item -h

Show help message and exit.

=item -H user@host

The specified user and host are used for ssh login otherwise C<cisco>
is used as host name.

=item -I F<selfid>

File describing the router from witch the LSDB has been taken.
It can be obtained with B<show ip ospf>.

=item -N F<network>

File describing the network-LSAs.
It can be obtained with B<show ip ospf database network>.

=item -R F<router>

File describing the router-LSAs.
It can be obtained with B<show ip ospf database router>.

=item -S F<summary>

File describing the network summary-LSAs.
It can be obtained with B<show ip ospf database summary>.

=back

=head1 EXAMPLES

 ciscoospf2yaml | ospf2dot | dot

=head1 DIAGNOSTICS

The program dies if an error occurs.
Typical errors are B<ssh> failure or parsing errors of the LSDB
files.

=head1 SEE ALSO

L<OSPF::LSDB::Cisco>,
L<OSPF::LSDB::YAML>,
L<OSPF::LSDB>

L<ospf2dot>

=head1 AUTHOR

Alexander Bluhm
