summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpctl
AgeCommit message (Collapse)Author
2022-06-27bgpctl bits for RFC 9234 support.Claudio Jeker
OK tb@
2022-06-23fmt_timeframe() cleanup. Remove the ring buffer, it is not required.Claudio Jeker
Ensure that the time_t is positive and print increadibly long timeframes of over 19 years just as weeks. OK tb@
2022-06-22Adjust code after changing struct ctl_show_nexthop to embed a struct kroute_fullClaudio Jeker
OK tb@
2022-06-22Fix last commit. addr is already a pointer.Claudio Jeker
Noticed by anton@
2022-06-21Use applymask() instead of inetXapplymask() since this code operates onClaudio Jeker
struct bgpd_addr. OK tb@
2022-06-16Remove prefixlen2mask() uasge outside of util.c. Instead use inet4applymask().Claudio Jeker
Neccessary after similar change in bgpd. OK tb@
2022-06-15Adjust after chaning F_BGPD_INSERTED to F_BGPD and removal of F_DYNAMICClaudio Jeker
2022-03-21Adjust to renaming of F_CTL_ACTIVE/F_PREF_ACTIVE to F_CTL_ACTIVE/F_PREF_BESTClaudio Jeker
OK tb@
2022-02-06Switch from u_intX_t types to stdint.h uintX_t like it was done in bgpd.Claudio Jeker
OK florian@ tb@
2022-02-04Rename sockaddr_un sun to sa_un since sun is defined on illumos systems.Claudio Jeker
OK dlg@
2021-09-22Adjust handling of RIB_GENERIC_ADDPATH MRT messages. Parse it the wayClaudio Jeker
OpenBGPD and GoBGP dump so that it works with all the MRT implementations out there supporting this. While there do some additional minor cleanup. OK deraadt@
2021-08-09Make it possible to match on path-id in bgpctl show rib outputs.Claudio Jeker
To work properly also a neighbor needs to be selected. The assumption here is that the peer will use the same path-id for the same peer accross all its routes. The RFC does not require this and it is valid to assign path-ids randomly. The path-id only matters for one specific path but most BGP implementations seem to assign the same path-id to multiple routes when originated from the same source. OK benno@
2021-08-02Show if add_path was used when decoding the BGP message in MRT format.Claudio Jeker
This may help to spot encoding errors a bit more easily.
2021-07-30Fix the show rib detail output. The add_path condition was totally wrong.Claudio Jeker
2021-07-27Implemnt the RFC8050 in the MRT parser. With this MRT dumps containingClaudio Jeker
add-path information will be dumped properly. There is one bit where this implementation is not in line with the RFC. The encoding of DUMP_V2_RIB_GENERIC_ADDPATH for non IPv4 or IPv6 prefixes is implemented the way gobgp did it (which seems to be the only other BGP implementation that supports generic encoding). The RFC puts the path_id in the NLRI for generic encoding instead of adding it to RIB entry struct like in the IPv4 and IPv6 encoding. This is an open discussion point with the RFC author. OK benno@
2021-07-20Also add missing -V to usageClaudio Jeker
2021-06-16Add command line option to show the versionjob
OK claudio@
2021-05-27Add the bits needed in bgpctl to show the new ADD-PATH and enhancedClaudio Jeker
route refresh capabilities in the neighbor output.
2021-05-20Fix bgpctl show mrt argument list. Seems like peers was added in the wrongClaudio Jeker
spot. Noticed and diff provided by Paul de Weerd.
2021-05-06export [ none | default-route ] changes are not handled by reload.Claudio Jeker
2021-05-03Print the timestamps both formatted and as a time in seconds field inClaudio Jeker
the various JSON object that have time values. OK benno@
2021-04-26Print out both the sent "Neighbor capabilities" and the "NegotiatedClaudio Jeker
capabilities" for a session. Especially the multiprotocol capability can confuse because both sides need to allow a protocol to enable it. The JSON code dumps all the capabilities for local, remote and negotiated. OK denis@, sthen@
2021-04-15Fix bgpctl show mrt for UPDATE messages. The call to output->attr() wasClaudio Jeker
incorrect. Adjust output->attr() to take a reqflag argument instead of a struct parse_result pointer since that is the only bit needed. Found by and OK procter@, OK deraadt@
2021-03-01off by one in bounds testJonathan Gray
ok claudio@
2021-02-16Add `bgpctl show rtr` to display basic information about RTR sessions.Claudio Jeker
OK job@
2021-01-25Adjust code since bgpd added an extra argument to aspath_verify() toClaudio Jeker
reject AS_SET segments. In bgpctl this is always off. OK benno@
2021-01-18Adjust code to the change of struct bgpd_addr in bgpd.Claudio Jeker
OK denis@
2020-12-30Add 'bgpctl show sets' to display information about the roa-set, as-sets,Claudio Jeker
and prefix-sets loaded into bgpd. OK benno@
2020-10-21Include endian.h for htobe64().Claudio Jeker
2020-10-21No need to include sys/cdefs.h hereClaudio Jeker
2020-05-12Remove unused token BULK and for PREFIX and ADDRESS the table value is alwaysClaudio Jeker
NULL so there is no need to change action in those cases. This was used some time ago by the show rib code. OK kn@, sthen@, benno@, deraadt@
2020-05-11Add support for VPNv6 in the family keyword of show ribClaudio Jeker
OK benno@ phessler@
2020-05-10In bgpctl argument parser, re-arrange 'reason' parsing ('nei action [reason]')Theo de Raadt
to be more generic, then change 'reload' to take take a '[reason]' also, which will be logged by bgpd. ok kn claudio
2020-05-04Using int64_t together with printf %llu is not portable. Either add aClaudio Jeker
cast in the printf to unsigned long long or just use unsigned long long from the start. In this case it is better to switch the type. Similar changes had been done before. OK deraadt@
2020-05-03Correctly name max_out_prefix and don't clobber the max_prefix value.Claudio Jeker
Also include the group name in the general neighbor description. Both issues reported by Patrick Velder OK deraadt@
2020-05-02Minimal documentation of JSON output.Claudio Jeker
2020-05-02Add support to output data in JSON. This is still work in progress andClaudio Jeker
the output structures may still change but it should be a good starting point for poeple to start playing with it. OK benno@, job@, deraadt@
2020-05-02Adjust fmt_attr() to pass in -1 for flags to tell it you don't careClaudio Jeker
about the flags of the attribute. Part of the JSON output diff. OK job@, benno@, deraadt@
2020-05-02Indirect the output functions through function pointers so that theyClaudio Jeker
can be changed easily. This will be used later on to add JSON output. OK benno@, job@, deraadt@
2020-05-02Cleanup the output functions a bit. show_neighbor_full() should print someClaudio Jeker
values only if the session is established or show it unconditonally (for shutdown message and last notficiation error codes. Adjust show_attr() a bit, print ORIGIN as string and add support for AID_VPN_IPv6. General add some warning if length checks fail. OK job@, benno@, deraadt@ as part of a bigger diff
2020-03-20Reshuffle code more to separate out the output functions into output.c.Claudio Jeker
Rewrite some functions to return a string instead of calling printf directly. OK benno@
2020-01-24Extend 'bgpctl show neighbor' to include the received and sent prefixClaudio Jeker
count. Also show the max-prefix out limit if one is set. OK job@
2020-01-22delete wasteful ;;Theo de Raadt
ok tedu
2020-01-21Report sent or received errors (normally not both at the same time).Claudio Jeker
With this the last notfication causing a session teardown will be shown in bgpctl show neighbor output. OK denis@ deraadt@
2020-01-21Update get_errstr() to report errors like log_notification() in bgpd.Claudio Jeker
With this suberrors of cease will be reported which is very helpful. OK denis@ deraadt@
2020-01-16when parsing ASN, don't \0-split the original string, as it may be neededTheo de Raadt
for error reporting. ok benno
2020-01-09Adjust time printing to the changes done in bgpd. Most timestamps areClaudio Jeker
now relative only last_updown, last_read and lastwrite are still based on CLOCK_MONOTONIC. OK denis@
2019-12-31Rename print_timer() to show_timer() and move it to output.cClaudio Jeker
Currently this needs a bit of a hack because fmt_timeframe() does not really print a timeframe but instead needs a timestamp relative to now. This needs to be adjusted but will be done later.
2019-12-20Split out show functions into a new file called output.cClaudio Jeker
OK benno@
2019-12-20Shuffle the fmt_timeframe functions and change fmt_timeframe() to avoidClaudio Jeker
printing negative time frames (caused by jumping the system clock back in time). OK benno@