History log of /openbsd-current/usr.sbin/ospfctl/ospfctl.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.68 20-May-2020 denis

style(9), no functionnal change.


# 1.67 18-May-2020 denis

Externalise the output aspect of ospfctl.

It is the first step towards implementing json output support.

Diff by Richard Chivers <r.chivers () zengenti . com>, based on
Claudio's work. Thanks !

OK claudio@


Revision tags: OPENBSD_6_7_BASE
# 1.66 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.65 11-Jul-2018 remi

Change the control socket to ospfd.sock.<rdomain>.

ok friehm@ jca@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.64 05-Dec-2016 jca

Also print the mtu when showing interface details

ok sthen@ benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.63 03-Dec-2015 claudio

Another imsg_read EAGAIN check. OK benno@


# 1.62 22-Nov-2015 claudio

There is still a bit of an issue with connected routes in the RIB. Print
what ospfd thinks is connected by adding a 'C' to the nexthop output.


# 1.61 09-Oct-2015 deraadt

can use pledge "stdio"; ok benno


# 1.60 27-Sep-2015 stsp

As done for bgpd recently, rename if_mediatype to if_type in ospfd/ospf6d.
And some ifmedia64 fixes.
"move forward" deraadt@


# 1.59 13-Sep-2015 deraadt

match a few if_media uint64_t conversions; ok miod


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.58 13-Nov-2013 sthen

handle msgbuf_write() returning EAGAIN, looks right to deraadt


Revision tags: OPENBSD_5_4_BASE
# 1.57 09-Apr-2013 gilles

do not store a time_t or the result of a time_t division in an int

prompted by deraadt@, ok claudio@ chl@ guenther@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.56 09-May-2011 claudio

ospfctl bits for opaque LSA support.
tested and OK sthen@


Revision tags: OPENBSD_4_9_BASE
# 1.55 25-Sep-2010 claudio

Print the checksum sum as a simple fingerprint of the LSDB.
OK dlg@


Revision tags: OPENBSD_4_8_BASE
# 1.54 12-Jun-2010 bluhm

Print 'Number of Routers' in show database network.
ok claudio@


Revision tags: OPENBSD_4_7_BASE
# 1.53 19-Feb-2010 dlg

implement ospfctl fib reload.

this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.

lots and lots of help from claudio@
ok claudio@


# 1.52 16-Feb-2010 dlg

implement support for fast hello packets.

if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.

this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.

developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.


# 1.51 16-Feb-2010 dlg

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.


# 1.50 02-Nov-2009 claudio

Implement "log verbose" and "log brief" to enable or disable verbose debug
logging. henning, sthen, michele like the idea


# 1.49 14-Sep-2009 claudio

Switch the various link state printing codes to use the new if_media
independent LINK_STATE_DESCRIPTIONS. Code is now more or less a one to
one copy of get_linkstate() in route/route.c.
OK henning, michele, sthen, deraadt


Revision tags: OPENBSD_4_6_BASE
# 1.48 06-Jun-2009 eric

sync ospfctl/ospfd with the common imsg code, making it lib ready as well.

"looks ok" claudio@


# 1.47 05-Jun-2009 pyr

forgot to commit the ospfctl bits, this unbreaks the tree.
noticed by michele@


# 1.46 07-Apr-2009 reyk

allow to specify an alternate control socket instead of /var/run/ospfd.sock.
this is required to run multiple instances of ospfd.

ok claudio@


Revision tags: OPENBSD_4_5_BASE
# 1.45 30-Jan-2009 norby

Add missing free.

OK claudio@


# 1.44 02-Jan-2009 claudio

In show interface only print the hello_timer value if valid.


# 1.43 12-Dec-2008 claudio

ospfd knows now priorities so let ospfctl know and print them as well.


# 1.42 06-Dec-2008 sobrado

the ellipsis allows more than one argument being specified.

discussed with gilles@

ok jmc@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.41 15-Oct-2007 deraadt

specifying int instead of just unsigned is better style


# 1.40 14-Oct-2007 deraadt

please lint


# 1.39 11-Oct-2007 norby

Cleanup the way we display timers.

It does not make sense to display timer = 0 as "Stopped". When a timer is
0 it usually means that it is getting reset very soon. Display the string
"00:00:00" instead.

ok claudio@


# 1.38 11-Sep-2007 claudio

Baudrate is 64bit so use %llu in printf(). Reminded by chl@


Revision tags: OPENBSD_4_2_BASE
# 1.37 30-May-2007 henning

yuck, no cookie for me


Revision tags: OPENBSD_4_1_BASE
# 1.36 28-Nov-2006 reyk

add additional link states to report the half duplex / full duplex
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.

ok henning@, brad@


Revision tags: OPENBSD_4_0_BASE
# 1.35 23-Aug-2006 claudio

Add a comment about the empty imsg_event_add() function to make it clear
why it is needed.


# 1.34 28-Jun-2006 norby

Track the uptime of the ospfd daemon itself.
It is possible to read the uptime of the daemon with the "ospfctl show"
command.

ok claudio@


# 1.33 21-Apr-2006 claudio

Add IFT_PPP to the iftype to ifmedia type conversion function. Now P2P links
will show the correct link state. While there do some cleanup and shorten the
output if the media or link state is unknown.


# 1.32 26-Mar-2006 norby

Show the neighbor uptime in "show nei detail".

ok claudio@


# 1.31 26-Mar-2006 norby

Show the link status of interfaces for real, I guess most users don't know
what it means that an interface is in state 2.

ok claudio@


# 1.30 23-Mar-2006 norby

List interfaces they way we list neighbors etc.
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".

help and ok claudio@


# 1.29 22-Mar-2006 claudio

ospfd has the framework to couple and decouple the FIB. Add the needed
functionality to ospfctl for it.
NOTE: decoupling the FIB one a router may totaly fuck up the complete network.
Use it with care!
OK norby@


# 1.28 09-Mar-2006 norby

Track interface uptime.

ok claudio@


# 1.27 09-Mar-2006 claudio

Start using *_name function that are now shared between ospfd and ospfctl.
OK norby@


# 1.26 08-Mar-2006 claudio

Last kroute.c commit changed the meaning of the flags so check them correctly.
OK norby@


Revision tags: OPENBSD_3_9_BASE
# 1.25 24-Feb-2006 norby

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@


# 1.24 19-Feb-2006 norby

Keep track of the duration of our relationships with neighbors.
Displayed in "ospfctl show neighbor".

ok claudio@


# 1.23 10-Feb-2006 claudio

imsg API changed so adapt to it.


# 1.22 27-Oct-2005 stevesk

indicate passive interface in 'show interface'; ok claudio@


# 1.21 23-Oct-2005 stevesk

use err() vs. fatal(); ok claudio@


# 1.20 16-Oct-2005 stevesk

remove duplicate function declaration; ok claudio@


# 1.19 16-Oct-2005 stevesk

missing break caused erroneous auth-type crypt enabled in 'sh int'
when simple enabled; ok claudio@


# 1.18 24-Sep-2005 msf

- add auth_type and auth_keyid to struct ctl_iface
- have ospfctl tell us when we are using authentication with 'show interface'

ok claudio@ norby@


Revision tags: OPENBSD_3_8_BASE
# 1.17 27-May-2005 norby

Small formatting bits in show neighbor detail.

ok claudio@


# 1.16 26-May-2005 norby

Fix multi area display bug.

ok claudio@


# 1.15 22-May-2005 norby

Add missing bits to ospfctl show rib detail.

ok claudio@


# 1.14 12-May-2005 norby

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@


# 1.13 06-May-2005 norby

Fix a display bug in 'show database', when ospfd is member of more
than one area.

Input from claudio.

ok claudio@


# 1.12 16-Apr-2005 claudio

Static routes are flagged with F_STATIC and not with F_KERNEL.


# 1.11 29-Mar-2005 norby

The RFC never mentions anything about transfer, this should be transmit.

From Jason Ackley (thanks).

ok claudio@


# 1.10 26-Mar-2005 claudio

ospfctl bits for the "ospfctl show fib interface" part. This will print
the interface status as seen from the parent kroute perspective.
OK henning@ norby@


# 1.9 23-Mar-2005 claudio

Sync mask2prefixlen() with the kroute.c version of ospfd because they share
the same prototype definition comming from ospfd.h.
OK norby@


Revision tags: OPENBSD_3_7_BASE
# 1.8 15-Mar-2005 claudio

bgpctl parts for "show fib".
OK norby@ deraadt@


# 1.7 14-Mar-2005 norby

Add "show summary" to ospfctl.

ok claudio@ henning@


# 1.6 12-Mar-2005 norby

Add "show rib" and "show rib detail" to ospfctl.

ok henning@


# 1.5 12-Mar-2005 norby

Small K&F.

ok henning@


# 1.4 02-Feb-2005 henning

KNF


# 1.3 02-Feb-2005 henning

usage() is __dead
pt out by Alexander v Gernler


# 1.2 28-Jan-2005 norby

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.


# 1.1 28-Jan-2005 claudio

Control program like bgpctl but this time for ospfd.
Currently only basic show commands work.

Not yet connected to the builds.
OK henning@


# 1.67 18-May-2020 denis

Externalise the output aspect of ospfctl.

It is the first step towards implementing json output support.

Diff by Richard Chivers <r.chivers () zengenti . com>, based on
Claudio's work. Thanks !

OK claudio@


Revision tags: OPENBSD_6_7_BASE
# 1.66 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.65 11-Jul-2018 remi

Change the control socket to ospfd.sock.<rdomain>.

ok friehm@ jca@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.64 05-Dec-2016 jca

Also print the mtu when showing interface details

ok sthen@ benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.63 03-Dec-2015 claudio

Another imsg_read EAGAIN check. OK benno@


# 1.62 22-Nov-2015 claudio

There is still a bit of an issue with connected routes in the RIB. Print
what ospfd thinks is connected by adding a 'C' to the nexthop output.


# 1.61 09-Oct-2015 deraadt

can use pledge "stdio"; ok benno


# 1.60 27-Sep-2015 stsp

As done for bgpd recently, rename if_mediatype to if_type in ospfd/ospf6d.
And some ifmedia64 fixes.
"move forward" deraadt@


# 1.59 13-Sep-2015 deraadt

match a few if_media uint64_t conversions; ok miod


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.58 13-Nov-2013 sthen

handle msgbuf_write() returning EAGAIN, looks right to deraadt


Revision tags: OPENBSD_5_4_BASE
# 1.57 09-Apr-2013 gilles

do not store a time_t or the result of a time_t division in an int

prompted by deraadt@, ok claudio@ chl@ guenther@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.56 09-May-2011 claudio

ospfctl bits for opaque LSA support.
tested and OK sthen@


Revision tags: OPENBSD_4_9_BASE
# 1.55 25-Sep-2010 claudio

Print the checksum sum as a simple fingerprint of the LSDB.
OK dlg@


Revision tags: OPENBSD_4_8_BASE
# 1.54 12-Jun-2010 bluhm

Print 'Number of Routers' in show database network.
ok claudio@


Revision tags: OPENBSD_4_7_BASE
# 1.53 19-Feb-2010 dlg

implement ospfctl fib reload.

this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.

lots and lots of help from claudio@
ok claudio@


# 1.52 16-Feb-2010 dlg

implement support for fast hello packets.

if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.

this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.

developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.


# 1.51 16-Feb-2010 dlg

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.


# 1.50 02-Nov-2009 claudio

Implement "log verbose" and "log brief" to enable or disable verbose debug
logging. henning, sthen, michele like the idea


# 1.49 14-Sep-2009 claudio

Switch the various link state printing codes to use the new if_media
independent LINK_STATE_DESCRIPTIONS. Code is now more or less a one to
one copy of get_linkstate() in route/route.c.
OK henning, michele, sthen, deraadt


Revision tags: OPENBSD_4_6_BASE
# 1.48 06-Jun-2009 eric

sync ospfctl/ospfd with the common imsg code, making it lib ready as well.

"looks ok" claudio@


# 1.47 05-Jun-2009 pyr

forgot to commit the ospfctl bits, this unbreaks the tree.
noticed by michele@


# 1.46 07-Apr-2009 reyk

allow to specify an alternate control socket instead of /var/run/ospfd.sock.
this is required to run multiple instances of ospfd.

ok claudio@


Revision tags: OPENBSD_4_5_BASE
# 1.45 30-Jan-2009 norby

Add missing free.

OK claudio@


# 1.44 02-Jan-2009 claudio

In show interface only print the hello_timer value if valid.


# 1.43 12-Dec-2008 claudio

ospfd knows now priorities so let ospfctl know and print them as well.


# 1.42 06-Dec-2008 sobrado

the ellipsis allows more than one argument being specified.

discussed with gilles@

ok jmc@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.41 15-Oct-2007 deraadt

specifying int instead of just unsigned is better style


# 1.40 14-Oct-2007 deraadt

please lint


# 1.39 11-Oct-2007 norby

Cleanup the way we display timers.

It does not make sense to display timer = 0 as "Stopped". When a timer is
0 it usually means that it is getting reset very soon. Display the string
"00:00:00" instead.

ok claudio@


# 1.38 11-Sep-2007 claudio

Baudrate is 64bit so use %llu in printf(). Reminded by chl@


Revision tags: OPENBSD_4_2_BASE
# 1.37 30-May-2007 henning

yuck, no cookie for me


Revision tags: OPENBSD_4_1_BASE
# 1.36 28-Nov-2006 reyk

add additional link states to report the half duplex / full duplex
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.

ok henning@, brad@


Revision tags: OPENBSD_4_0_BASE
# 1.35 23-Aug-2006 claudio

Add a comment about the empty imsg_event_add() function to make it clear
why it is needed.


# 1.34 28-Jun-2006 norby

Track the uptime of the ospfd daemon itself.
It is possible to read the uptime of the daemon with the "ospfctl show"
command.

ok claudio@


# 1.33 21-Apr-2006 claudio

Add IFT_PPP to the iftype to ifmedia type conversion function. Now P2P links
will show the correct link state. While there do some cleanup and shorten the
output if the media or link state is unknown.


# 1.32 26-Mar-2006 norby

Show the neighbor uptime in "show nei detail".

ok claudio@


# 1.31 26-Mar-2006 norby

Show the link status of interfaces for real, I guess most users don't know
what it means that an interface is in state 2.

ok claudio@


# 1.30 23-Mar-2006 norby

List interfaces they way we list neighbors etc.
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".

help and ok claudio@


# 1.29 22-Mar-2006 claudio

ospfd has the framework to couple and decouple the FIB. Add the needed
functionality to ospfctl for it.
NOTE: decoupling the FIB one a router may totaly fuck up the complete network.
Use it with care!
OK norby@


# 1.28 09-Mar-2006 norby

Track interface uptime.

ok claudio@


# 1.27 09-Mar-2006 claudio

Start using *_name function that are now shared between ospfd and ospfctl.
OK norby@


# 1.26 08-Mar-2006 claudio

Last kroute.c commit changed the meaning of the flags so check them correctly.
OK norby@


Revision tags: OPENBSD_3_9_BASE
# 1.25 24-Feb-2006 norby

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@


# 1.24 19-Feb-2006 norby

Keep track of the duration of our relationships with neighbors.
Displayed in "ospfctl show neighbor".

ok claudio@


# 1.23 10-Feb-2006 claudio

imsg API changed so adapt to it.


# 1.22 27-Oct-2005 stevesk

indicate passive interface in 'show interface'; ok claudio@


# 1.21 23-Oct-2005 stevesk

use err() vs. fatal(); ok claudio@


# 1.20 16-Oct-2005 stevesk

remove duplicate function declaration; ok claudio@


# 1.19 16-Oct-2005 stevesk

missing break caused erroneous auth-type crypt enabled in 'sh int'
when simple enabled; ok claudio@


# 1.18 24-Sep-2005 msf

- add auth_type and auth_keyid to struct ctl_iface
- have ospfctl tell us when we are using authentication with 'show interface'

ok claudio@ norby@


Revision tags: OPENBSD_3_8_BASE
# 1.17 27-May-2005 norby

Small formatting bits in show neighbor detail.

ok claudio@


# 1.16 26-May-2005 norby

Fix multi area display bug.

ok claudio@


# 1.15 22-May-2005 norby

Add missing bits to ospfctl show rib detail.

ok claudio@


# 1.14 12-May-2005 norby

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@


# 1.13 06-May-2005 norby

Fix a display bug in 'show database', when ospfd is member of more
than one area.

Input from claudio.

ok claudio@


# 1.12 16-Apr-2005 claudio

Static routes are flagged with F_STATIC and not with F_KERNEL.


# 1.11 29-Mar-2005 norby

The RFC never mentions anything about transfer, this should be transmit.

From Jason Ackley (thanks).

ok claudio@


# 1.10 26-Mar-2005 claudio

ospfctl bits for the "ospfctl show fib interface" part. This will print
the interface status as seen from the parent kroute perspective.
OK henning@ norby@


# 1.9 23-Mar-2005 claudio

Sync mask2prefixlen() with the kroute.c version of ospfd because they share
the same prototype definition comming from ospfd.h.
OK norby@


Revision tags: OPENBSD_3_7_BASE
# 1.8 15-Mar-2005 claudio

bgpctl parts for "show fib".
OK norby@ deraadt@


# 1.7 14-Mar-2005 norby

Add "show summary" to ospfctl.

ok claudio@ henning@


# 1.6 12-Mar-2005 norby

Add "show rib" and "show rib detail" to ospfctl.

ok henning@


# 1.5 12-Mar-2005 norby

Small K&F.

ok henning@


# 1.4 02-Feb-2005 henning

KNF


# 1.3 02-Feb-2005 henning

usage() is __dead
pt out by Alexander v Gernler


# 1.2 28-Jan-2005 norby

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.


# 1.1 28-Jan-2005 claudio

Control program like bgpctl but this time for ospfd.
Currently only basic show commands work.

Not yet connected to the builds.
OK henning@


# 1.66 01-Nov-2019 florian

Correctly group initialization of AF_UNIX socket.
spotted by deraadt in new code, sweep by me.
OK deraadt


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.65 11-Jul-2018 remi

Change the control socket to ospfd.sock.<rdomain>.

ok friehm@ jca@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.64 05-Dec-2016 jca

Also print the mtu when showing interface details

ok sthen@ benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.63 03-Dec-2015 claudio

Another imsg_read EAGAIN check. OK benno@


# 1.62 22-Nov-2015 claudio

There is still a bit of an issue with connected routes in the RIB. Print
what ospfd thinks is connected by adding a 'C' to the nexthop output.


# 1.61 09-Oct-2015 deraadt

can use pledge "stdio"; ok benno


# 1.60 27-Sep-2015 stsp

As done for bgpd recently, rename if_mediatype to if_type in ospfd/ospf6d.
And some ifmedia64 fixes.
"move forward" deraadt@


# 1.59 13-Sep-2015 deraadt

match a few if_media uint64_t conversions; ok miod


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.58 13-Nov-2013 sthen

handle msgbuf_write() returning EAGAIN, looks right to deraadt


Revision tags: OPENBSD_5_4_BASE
# 1.57 09-Apr-2013 gilles

do not store a time_t or the result of a time_t division in an int

prompted by deraadt@, ok claudio@ chl@ guenther@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.56 09-May-2011 claudio

ospfctl bits for opaque LSA support.
tested and OK sthen@


Revision tags: OPENBSD_4_9_BASE
# 1.55 25-Sep-2010 claudio

Print the checksum sum as a simple fingerprint of the LSDB.
OK dlg@


Revision tags: OPENBSD_4_8_BASE
# 1.54 12-Jun-2010 bluhm

Print 'Number of Routers' in show database network.
ok claudio@


Revision tags: OPENBSD_4_7_BASE
# 1.53 19-Feb-2010 dlg

implement ospfctl fib reload.

this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.

lots and lots of help from claudio@
ok claudio@


# 1.52 16-Feb-2010 dlg

implement support for fast hello packets.

if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.

this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.

developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.


# 1.51 16-Feb-2010 dlg

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.


# 1.50 02-Nov-2009 claudio

Implement "log verbose" and "log brief" to enable or disable verbose debug
logging. henning, sthen, michele like the idea


# 1.49 14-Sep-2009 claudio

Switch the various link state printing codes to use the new if_media
independent LINK_STATE_DESCRIPTIONS. Code is now more or less a one to
one copy of get_linkstate() in route/route.c.
OK henning, michele, sthen, deraadt


Revision tags: OPENBSD_4_6_BASE
# 1.48 06-Jun-2009 eric

sync ospfctl/ospfd with the common imsg code, making it lib ready as well.

"looks ok" claudio@


# 1.47 05-Jun-2009 pyr

forgot to commit the ospfctl bits, this unbreaks the tree.
noticed by michele@


# 1.46 07-Apr-2009 reyk

allow to specify an alternate control socket instead of /var/run/ospfd.sock.
this is required to run multiple instances of ospfd.

ok claudio@


Revision tags: OPENBSD_4_5_BASE
# 1.45 30-Jan-2009 norby

Add missing free.

OK claudio@


# 1.44 02-Jan-2009 claudio

In show interface only print the hello_timer value if valid.


# 1.43 12-Dec-2008 claudio

ospfd knows now priorities so let ospfctl know and print them as well.


# 1.42 06-Dec-2008 sobrado

the ellipsis allows more than one argument being specified.

discussed with gilles@

ok jmc@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.41 15-Oct-2007 deraadt

specifying int instead of just unsigned is better style


# 1.40 14-Oct-2007 deraadt

please lint


# 1.39 11-Oct-2007 norby

Cleanup the way we display timers.

It does not make sense to display timer = 0 as "Stopped". When a timer is
0 it usually means that it is getting reset very soon. Display the string
"00:00:00" instead.

ok claudio@


# 1.38 11-Sep-2007 claudio

Baudrate is 64bit so use %llu in printf(). Reminded by chl@


Revision tags: OPENBSD_4_2_BASE
# 1.37 30-May-2007 henning

yuck, no cookie for me


Revision tags: OPENBSD_4_1_BASE
# 1.36 28-Nov-2006 reyk

add additional link states to report the half duplex / full duplex
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.

ok henning@, brad@


Revision tags: OPENBSD_4_0_BASE
# 1.35 23-Aug-2006 claudio

Add a comment about the empty imsg_event_add() function to make it clear
why it is needed.


# 1.34 28-Jun-2006 norby

Track the uptime of the ospfd daemon itself.
It is possible to read the uptime of the daemon with the "ospfctl show"
command.

ok claudio@


# 1.33 21-Apr-2006 claudio

Add IFT_PPP to the iftype to ifmedia type conversion function. Now P2P links
will show the correct link state. While there do some cleanup and shorten the
output if the media or link state is unknown.


# 1.32 26-Mar-2006 norby

Show the neighbor uptime in "show nei detail".

ok claudio@


# 1.31 26-Mar-2006 norby

Show the link status of interfaces for real, I guess most users don't know
what it means that an interface is in state 2.

ok claudio@


# 1.30 23-Mar-2006 norby

List interfaces they way we list neighbors etc.
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".

help and ok claudio@


# 1.29 22-Mar-2006 claudio

ospfd has the framework to couple and decouple the FIB. Add the needed
functionality to ospfctl for it.
NOTE: decoupling the FIB one a router may totaly fuck up the complete network.
Use it with care!
OK norby@


# 1.28 09-Mar-2006 norby

Track interface uptime.

ok claudio@


# 1.27 09-Mar-2006 claudio

Start using *_name function that are now shared between ospfd and ospfctl.
OK norby@


# 1.26 08-Mar-2006 claudio

Last kroute.c commit changed the meaning of the flags so check them correctly.
OK norby@


Revision tags: OPENBSD_3_9_BASE
# 1.25 24-Feb-2006 norby

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@


# 1.24 19-Feb-2006 norby

Keep track of the duration of our relationships with neighbors.
Displayed in "ospfctl show neighbor".

ok claudio@


# 1.23 10-Feb-2006 claudio

imsg API changed so adapt to it.


# 1.22 27-Oct-2005 stevesk

indicate passive interface in 'show interface'; ok claudio@


# 1.21 23-Oct-2005 stevesk

use err() vs. fatal(); ok claudio@


# 1.20 16-Oct-2005 stevesk

remove duplicate function declaration; ok claudio@


# 1.19 16-Oct-2005 stevesk

missing break caused erroneous auth-type crypt enabled in 'sh int'
when simple enabled; ok claudio@


# 1.18 24-Sep-2005 msf

- add auth_type and auth_keyid to struct ctl_iface
- have ospfctl tell us when we are using authentication with 'show interface'

ok claudio@ norby@


Revision tags: OPENBSD_3_8_BASE
# 1.17 27-May-2005 norby

Small formatting bits in show neighbor detail.

ok claudio@


# 1.16 26-May-2005 norby

Fix multi area display bug.

ok claudio@


# 1.15 22-May-2005 norby

Add missing bits to ospfctl show rib detail.

ok claudio@


# 1.14 12-May-2005 norby

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@


# 1.13 06-May-2005 norby

Fix a display bug in 'show database', when ospfd is member of more
than one area.

Input from claudio.

ok claudio@


# 1.12 16-Apr-2005 claudio

Static routes are flagged with F_STATIC and not with F_KERNEL.


# 1.11 29-Mar-2005 norby

The RFC never mentions anything about transfer, this should be transmit.

From Jason Ackley (thanks).

ok claudio@


# 1.10 26-Mar-2005 claudio

ospfctl bits for the "ospfctl show fib interface" part. This will print
the interface status as seen from the parent kroute perspective.
OK henning@ norby@


# 1.9 23-Mar-2005 claudio

Sync mask2prefixlen() with the kroute.c version of ospfd because they share
the same prototype definition comming from ospfd.h.
OK norby@


Revision tags: OPENBSD_3_7_BASE
# 1.8 15-Mar-2005 claudio

bgpctl parts for "show fib".
OK norby@ deraadt@


# 1.7 14-Mar-2005 norby

Add "show summary" to ospfctl.

ok claudio@ henning@


# 1.6 12-Mar-2005 norby

Add "show rib" and "show rib detail" to ospfctl.

ok henning@


# 1.5 12-Mar-2005 norby

Small K&F.

ok henning@


# 1.4 02-Feb-2005 henning

KNF


# 1.3 02-Feb-2005 henning

usage() is __dead
pt out by Alexander v Gernler


# 1.2 28-Jan-2005 norby

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.


# 1.1 28-Jan-2005 claudio

Control program like bgpctl but this time for ospfd.
Currently only basic show commands work.

Not yet connected to the builds.
OK henning@


# 1.65 11-Jul-2018 remi

Change the control socket to ospfd.sock.<rdomain>.

ok friehm@ jca@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.64 05-Dec-2016 jca

Also print the mtu when showing interface details

ok sthen@ benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.63 03-Dec-2015 claudio

Another imsg_read EAGAIN check. OK benno@


# 1.62 22-Nov-2015 claudio

There is still a bit of an issue with connected routes in the RIB. Print
what ospfd thinks is connected by adding a 'C' to the nexthop output.


# 1.61 09-Oct-2015 deraadt

can use pledge "stdio"; ok benno


# 1.60 27-Sep-2015 stsp

As done for bgpd recently, rename if_mediatype to if_type in ospfd/ospf6d.
And some ifmedia64 fixes.
"move forward" deraadt@


# 1.59 13-Sep-2015 deraadt

match a few if_media uint64_t conversions; ok miod


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.58 13-Nov-2013 sthen

handle msgbuf_write() returning EAGAIN, looks right to deraadt


Revision tags: OPENBSD_5_4_BASE
# 1.57 09-Apr-2013 gilles

do not store a time_t or the result of a time_t division in an int

prompted by deraadt@, ok claudio@ chl@ guenther@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.56 09-May-2011 claudio

ospfctl bits for opaque LSA support.
tested and OK sthen@


Revision tags: OPENBSD_4_9_BASE
# 1.55 25-Sep-2010 claudio

Print the checksum sum as a simple fingerprint of the LSDB.
OK dlg@


Revision tags: OPENBSD_4_8_BASE
# 1.54 12-Jun-2010 bluhm

Print 'Number of Routers' in show database network.
ok claudio@


Revision tags: OPENBSD_4_7_BASE
# 1.53 19-Feb-2010 dlg

implement ospfctl fib reload.

this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.

lots and lots of help from claudio@
ok claudio@


# 1.52 16-Feb-2010 dlg

implement support for fast hello packets.

if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.

this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.

developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.


# 1.51 16-Feb-2010 dlg

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.


# 1.50 02-Nov-2009 claudio

Implement "log verbose" and "log brief" to enable or disable verbose debug
logging. henning, sthen, michele like the idea


# 1.49 14-Sep-2009 claudio

Switch the various link state printing codes to use the new if_media
independent LINK_STATE_DESCRIPTIONS. Code is now more or less a one to
one copy of get_linkstate() in route/route.c.
OK henning, michele, sthen, deraadt


Revision tags: OPENBSD_4_6_BASE
# 1.48 06-Jun-2009 eric

sync ospfctl/ospfd with the common imsg code, making it lib ready as well.

"looks ok" claudio@


# 1.47 05-Jun-2009 pyr

forgot to commit the ospfctl bits, this unbreaks the tree.
noticed by michele@


# 1.46 07-Apr-2009 reyk

allow to specify an alternate control socket instead of /var/run/ospfd.sock.
this is required to run multiple instances of ospfd.

ok claudio@


Revision tags: OPENBSD_4_5_BASE
# 1.45 30-Jan-2009 norby

Add missing free.

OK claudio@


# 1.44 02-Jan-2009 claudio

In show interface only print the hello_timer value if valid.


# 1.43 12-Dec-2008 claudio

ospfd knows now priorities so let ospfctl know and print them as well.


# 1.42 06-Dec-2008 sobrado

the ellipsis allows more than one argument being specified.

discussed with gilles@

ok jmc@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.41 15-Oct-2007 deraadt

specifying int instead of just unsigned is better style


# 1.40 14-Oct-2007 deraadt

please lint


# 1.39 11-Oct-2007 norby

Cleanup the way we display timers.

It does not make sense to display timer = 0 as "Stopped". When a timer is
0 it usually means that it is getting reset very soon. Display the string
"00:00:00" instead.

ok claudio@


# 1.38 11-Sep-2007 claudio

Baudrate is 64bit so use %llu in printf(). Reminded by chl@


Revision tags: OPENBSD_4_2_BASE
# 1.37 30-May-2007 henning

yuck, no cookie for me


Revision tags: OPENBSD_4_1_BASE
# 1.36 28-Nov-2006 reyk

add additional link states to report the half duplex / full duplex
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.

ok henning@, brad@


Revision tags: OPENBSD_4_0_BASE
# 1.35 23-Aug-2006 claudio

Add a comment about the empty imsg_event_add() function to make it clear
why it is needed.


# 1.34 28-Jun-2006 norby

Track the uptime of the ospfd daemon itself.
It is possible to read the uptime of the daemon with the "ospfctl show"
command.

ok claudio@


# 1.33 21-Apr-2006 claudio

Add IFT_PPP to the iftype to ifmedia type conversion function. Now P2P links
will show the correct link state. While there do some cleanup and shorten the
output if the media or link state is unknown.


# 1.32 26-Mar-2006 norby

Show the neighbor uptime in "show nei detail".

ok claudio@


# 1.31 26-Mar-2006 norby

Show the link status of interfaces for real, I guess most users don't know
what it means that an interface is in state 2.

ok claudio@


# 1.30 23-Mar-2006 norby

List interfaces they way we list neighbors etc.
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".

help and ok claudio@


# 1.29 22-Mar-2006 claudio

ospfd has the framework to couple and decouple the FIB. Add the needed
functionality to ospfctl for it.
NOTE: decoupling the FIB one a router may totaly fuck up the complete network.
Use it with care!
OK norby@


# 1.28 09-Mar-2006 norby

Track interface uptime.

ok claudio@


# 1.27 09-Mar-2006 claudio

Start using *_name function that are now shared between ospfd and ospfctl.
OK norby@


# 1.26 08-Mar-2006 claudio

Last kroute.c commit changed the meaning of the flags so check them correctly.
OK norby@


Revision tags: OPENBSD_3_9_BASE
# 1.25 24-Feb-2006 norby

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@


# 1.24 19-Feb-2006 norby

Keep track of the duration of our relationships with neighbors.
Displayed in "ospfctl show neighbor".

ok claudio@


# 1.23 10-Feb-2006 claudio

imsg API changed so adapt to it.


# 1.22 27-Oct-2005 stevesk

indicate passive interface in 'show interface'; ok claudio@


# 1.21 23-Oct-2005 stevesk

use err() vs. fatal(); ok claudio@


# 1.20 16-Oct-2005 stevesk

remove duplicate function declaration; ok claudio@


# 1.19 16-Oct-2005 stevesk

missing break caused erroneous auth-type crypt enabled in 'sh int'
when simple enabled; ok claudio@


# 1.18 24-Sep-2005 msf

- add auth_type and auth_keyid to struct ctl_iface
- have ospfctl tell us when we are using authentication with 'show interface'

ok claudio@ norby@


Revision tags: OPENBSD_3_8_BASE
# 1.17 27-May-2005 norby

Small formatting bits in show neighbor detail.

ok claudio@


# 1.16 26-May-2005 norby

Fix multi area display bug.

ok claudio@


# 1.15 22-May-2005 norby

Add missing bits to ospfctl show rib detail.

ok claudio@


# 1.14 12-May-2005 norby

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@


# 1.13 06-May-2005 norby

Fix a display bug in 'show database', when ospfd is member of more
than one area.

Input from claudio.

ok claudio@


# 1.12 16-Apr-2005 claudio

Static routes are flagged with F_STATIC and not with F_KERNEL.


# 1.11 29-Mar-2005 norby

The RFC never mentions anything about transfer, this should be transmit.

From Jason Ackley (thanks).

ok claudio@


# 1.10 26-Mar-2005 claudio

ospfctl bits for the "ospfctl show fib interface" part. This will print
the interface status as seen from the parent kroute perspective.
OK henning@ norby@


# 1.9 23-Mar-2005 claudio

Sync mask2prefixlen() with the kroute.c version of ospfd because they share
the same prototype definition comming from ospfd.h.
OK norby@


Revision tags: OPENBSD_3_7_BASE
# 1.8 15-Mar-2005 claudio

bgpctl parts for "show fib".
OK norby@ deraadt@


# 1.7 14-Mar-2005 norby

Add "show summary" to ospfctl.

ok claudio@ henning@


# 1.6 12-Mar-2005 norby

Add "show rib" and "show rib detail" to ospfctl.

ok henning@


# 1.5 12-Mar-2005 norby

Small K&F.

ok henning@


# 1.4 02-Feb-2005 henning

KNF


# 1.3 02-Feb-2005 henning

usage() is __dead
pt out by Alexander v Gernler


# 1.2 28-Jan-2005 norby

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.


# 1.1 28-Jan-2005 claudio

Control program like bgpctl but this time for ospfd.
Currently only basic show commands work.

Not yet connected to the builds.
OK henning@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.64 05-Dec-2016 jca

Also print the mtu when showing interface details

ok sthen@ benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.63 03-Dec-2015 claudio

Another imsg_read EAGAIN check. OK benno@


# 1.62 22-Nov-2015 claudio

There is still a bit of an issue with connected routes in the RIB. Print
what ospfd thinks is connected by adding a 'C' to the nexthop output.


# 1.61 09-Oct-2015 deraadt

can use pledge "stdio"; ok benno


# 1.60 27-Sep-2015 stsp

As done for bgpd recently, rename if_mediatype to if_type in ospfd/ospf6d.
And some ifmedia64 fixes.
"move forward" deraadt@


# 1.59 13-Sep-2015 deraadt

match a few if_media uint64_t conversions; ok miod


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.58 13-Nov-2013 sthen

handle msgbuf_write() returning EAGAIN, looks right to deraadt


Revision tags: OPENBSD_5_4_BASE
# 1.57 09-Apr-2013 gilles

do not store a time_t or the result of a time_t division in an int

prompted by deraadt@, ok claudio@ chl@ guenther@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.56 09-May-2011 claudio

ospfctl bits for opaque LSA support.
tested and OK sthen@


Revision tags: OPENBSD_4_9_BASE
# 1.55 25-Sep-2010 claudio

Print the checksum sum as a simple fingerprint of the LSDB.
OK dlg@


Revision tags: OPENBSD_4_8_BASE
# 1.54 12-Jun-2010 bluhm

Print 'Number of Routers' in show database network.
ok claudio@


Revision tags: OPENBSD_4_7_BASE
# 1.53 19-Feb-2010 dlg

implement ospfctl fib reload.

this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.

lots and lots of help from claudio@
ok claudio@


# 1.52 16-Feb-2010 dlg

implement support for fast hello packets.

if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.

this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.

developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.


# 1.51 16-Feb-2010 dlg

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.


# 1.50 02-Nov-2009 claudio

Implement "log verbose" and "log brief" to enable or disable verbose debug
logging. henning, sthen, michele like the idea


# 1.49 14-Sep-2009 claudio

Switch the various link state printing codes to use the new if_media
independent LINK_STATE_DESCRIPTIONS. Code is now more or less a one to
one copy of get_linkstate() in route/route.c.
OK henning, michele, sthen, deraadt


Revision tags: OPENBSD_4_6_BASE
# 1.48 06-Jun-2009 eric

sync ospfctl/ospfd with the common imsg code, making it lib ready as well.

"looks ok" claudio@


# 1.47 05-Jun-2009 pyr

forgot to commit the ospfctl bits, this unbreaks the tree.
noticed by michele@


# 1.46 07-Apr-2009 reyk

allow to specify an alternate control socket instead of /var/run/ospfd.sock.
this is required to run multiple instances of ospfd.

ok claudio@


Revision tags: OPENBSD_4_5_BASE
# 1.45 30-Jan-2009 norby

Add missing free.

OK claudio@


# 1.44 02-Jan-2009 claudio

In show interface only print the hello_timer value if valid.


# 1.43 12-Dec-2008 claudio

ospfd knows now priorities so let ospfctl know and print them as well.


# 1.42 06-Dec-2008 sobrado

the ellipsis allows more than one argument being specified.

discussed with gilles@

ok jmc@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.41 15-Oct-2007 deraadt

specifying int instead of just unsigned is better style


# 1.40 14-Oct-2007 deraadt

please lint


# 1.39 11-Oct-2007 norby

Cleanup the way we display timers.

It does not make sense to display timer = 0 as "Stopped". When a timer is
0 it usually means that it is getting reset very soon. Display the string
"00:00:00" instead.

ok claudio@


# 1.38 11-Sep-2007 claudio

Baudrate is 64bit so use %llu in printf(). Reminded by chl@


Revision tags: OPENBSD_4_2_BASE
# 1.37 30-May-2007 henning

yuck, no cookie for me


Revision tags: OPENBSD_4_1_BASE
# 1.36 28-Nov-2006 reyk

add additional link states to report the half duplex / full duplex
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.

ok henning@, brad@


Revision tags: OPENBSD_4_0_BASE
# 1.35 23-Aug-2006 claudio

Add a comment about the empty imsg_event_add() function to make it clear
why it is needed.


# 1.34 28-Jun-2006 norby

Track the uptime of the ospfd daemon itself.
It is possible to read the uptime of the daemon with the "ospfctl show"
command.

ok claudio@


# 1.33 21-Apr-2006 claudio

Add IFT_PPP to the iftype to ifmedia type conversion function. Now P2P links
will show the correct link state. While there do some cleanup and shorten the
output if the media or link state is unknown.


# 1.32 26-Mar-2006 norby

Show the neighbor uptime in "show nei detail".

ok claudio@


# 1.31 26-Mar-2006 norby

Show the link status of interfaces for real, I guess most users don't know
what it means that an interface is in state 2.

ok claudio@


# 1.30 23-Mar-2006 norby

List interfaces they way we list neighbors etc.
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".

help and ok claudio@


# 1.29 22-Mar-2006 claudio

ospfd has the framework to couple and decouple the FIB. Add the needed
functionality to ospfctl for it.
NOTE: decoupling the FIB one a router may totaly fuck up the complete network.
Use it with care!
OK norby@


# 1.28 09-Mar-2006 norby

Track interface uptime.

ok claudio@


# 1.27 09-Mar-2006 claudio

Start using *_name function that are now shared between ospfd and ospfctl.
OK norby@


# 1.26 08-Mar-2006 claudio

Last kroute.c commit changed the meaning of the flags so check them correctly.
OK norby@


Revision tags: OPENBSD_3_9_BASE
# 1.25 24-Feb-2006 norby

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@


# 1.24 19-Feb-2006 norby

Keep track of the duration of our relationships with neighbors.
Displayed in "ospfctl show neighbor".

ok claudio@


# 1.23 10-Feb-2006 claudio

imsg API changed so adapt to it.


# 1.22 27-Oct-2005 stevesk

indicate passive interface in 'show interface'; ok claudio@


# 1.21 23-Oct-2005 stevesk

use err() vs. fatal(); ok claudio@


# 1.20 16-Oct-2005 stevesk

remove duplicate function declaration; ok claudio@


# 1.19 16-Oct-2005 stevesk

missing break caused erroneous auth-type crypt enabled in 'sh int'
when simple enabled; ok claudio@


# 1.18 24-Sep-2005 msf

- add auth_type and auth_keyid to struct ctl_iface
- have ospfctl tell us when we are using authentication with 'show interface'

ok claudio@ norby@


Revision tags: OPENBSD_3_8_BASE
# 1.17 27-May-2005 norby

Small formatting bits in show neighbor detail.

ok claudio@


# 1.16 26-May-2005 norby

Fix multi area display bug.

ok claudio@


# 1.15 22-May-2005 norby

Add missing bits to ospfctl show rib detail.

ok claudio@


# 1.14 12-May-2005 norby

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@


# 1.13 06-May-2005 norby

Fix a display bug in 'show database', when ospfd is member of more
than one area.

Input from claudio.

ok claudio@


# 1.12 16-Apr-2005 claudio

Static routes are flagged with F_STATIC and not with F_KERNEL.


# 1.11 29-Mar-2005 norby

The RFC never mentions anything about transfer, this should be transmit.

From Jason Ackley (thanks).

ok claudio@


# 1.10 26-Mar-2005 claudio

ospfctl bits for the "ospfctl show fib interface" part. This will print
the interface status as seen from the parent kroute perspective.
OK henning@ norby@


# 1.9 23-Mar-2005 claudio

Sync mask2prefixlen() with the kroute.c version of ospfd because they share
the same prototype definition comming from ospfd.h.
OK norby@


Revision tags: OPENBSD_3_7_BASE
# 1.8 15-Mar-2005 claudio

bgpctl parts for "show fib".
OK norby@ deraadt@


# 1.7 14-Mar-2005 norby

Add "show summary" to ospfctl.

ok claudio@ henning@


# 1.6 12-Mar-2005 norby

Add "show rib" and "show rib detail" to ospfctl.

ok henning@


# 1.5 12-Mar-2005 norby

Small K&F.

ok henning@


# 1.4 02-Feb-2005 henning

KNF


# 1.3 02-Feb-2005 henning

usage() is __dead
pt out by Alexander v Gernler


# 1.2 28-Jan-2005 norby

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.


# 1.1 28-Jan-2005 claudio

Control program like bgpctl but this time for ospfd.
Currently only basic show commands work.

Not yet connected to the builds.
OK henning@