Go to file
Philippe Guibert 78ce63952a bgpd: fix addressing information of non established outgoing sessions
When trying to connect to a BGP peer that does not respons, the 'show
bgp neighbors' command does not give any indication on the local and
remote addresses used:

> # show bgp neighbors
>  BGP neighbor is 192.0.2.150, remote AS 65500, local AS 65500, internal link
>   Local Role: undefined
>   Remote Role: undefined
>   BGP version 4, remote router ID 0.0.0.0, local router ID 192.0.2.1
>   BGP state = Connect
> [..]
>   Connections established 0; dropped 0
>   Last reset 00:00:04,   Waiting for peer OPEN (n/a)
>   Internal BGP neighbor may be up to 255 hops away.
> BGP Connect Retry Timer in Seconds: 120
> Next connect timer due in 117 seconds
> Read thread: off  Write thread: off  FD used: 27

The addressing information (address and port) are only available
when TCP session is established, whereas this information is present
at the system level:

> root@ubuntu2204:~# netstat -pan | grep 192.0.2.1
> tcp        0      0 192.0.2.1:179           192.0.2.150:38060       SYN_RECV    -
> tcp        0      1 192.0.2.1:46526         192.0.2.150:179         SYN_SENT    488310/bgpd

Add the display for outgoing BGP session, as the information in
the getsockname() API provides information for connected streams.
When getpeername() API does not give any information, use the peer
configuration (destination port is encoded in peer->port).

> # show bgp neighbors
> BGP neighbor is 192.0.2.150, remote AS 65500, local AS 65500, internal link
>   Local Role: undefined
>   Remote Role: undefined
>   BGP version 4, remote router ID 0.0.0.0, local router ID 192.0.2.1
>   BGP state = Connect
> [..]
>   Connections established 0; dropped 0
>   Last reset 00:00:16,   Waiting for peer OPEN (n/a)
> Local host: 192.0.2.1, Local port: 46084
> Foreign host: 192.0.2.150, Foreign port: 179

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-15 09:16:54 +02:00
.github github: Replace issue template with issue form 2024-02-15 03:16:54 -05:00
alpine docker: Fix post function for Alpine build (package) 2024-03-09 09:33:40 +02:00
babeld babeld: changes for code maintainability 2024-02-20 00:25:27 +05:30
bfdd Merge pull request #15697 from zmw12306/bfd_check_Mflag 2024-04-12 16:09:43 +03:00
bgpd bgpd: fix addressing information of non established outgoing sessions 2024-04-15 09:16:54 +02:00
debian debian, redhat: updating changelog for 10.0 release 2024-03-26 23:02:38 -05:00
doc Merge pull request #15688 from mjstapp/dplane_api_version 2024-04-11 23:54:02 -05:00
docker docker: Do not use pip Python package manager 2024-03-09 09:33:40 +02:00
eigrpd *: Add missing SPDX-License-Identifier for some .c/.h files 2024-03-21 16:46:58 +02:00
fpm fpm: Add func to encode SRv6 SIDs in protobuf 2024-02-18 18:31:13 +01:00
gdb lib: add simplified native msg support 2023-12-26 08:34:56 -05:00
grpc *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
include lib: Drop include/linux/mroute[6].h 2024-03-09 09:34:41 +02:00
isisd isisd: fix mispelling with ISIS_SR_LAN_BACKUP 2024-04-04 15:10:47 +02:00
ldpd ldpd: use zlog recirculation for subprocesses 2024-03-10 12:42:14 +01:00
lib Merge pull request #15688 from mjstapp/dplane_api_version 2024-04-11 23:54:02 -05:00
m4 build: add recursion limit for AX_RECURSIVE_EVAL 2024-01-27 19:01:19 +01:00
mgmtd mgmtd: remove unused event type 2024-03-22 16:43:18 +02:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd *: Add missing SPDX-License-Identifier for some .c/.h files 2024-03-21 16:46:58 +02:00
ospf6d eigrpd, mgmtd, ospf6d: frr_fini is last 2024-03-13 07:09:10 +00:00
ospfclient *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospfd ospfd: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00:00
pathd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
pbrd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
pceplib Merge pull request #15215 from donaldsharp/pceplib_fixup 2024-01-25 09:59:59 +02:00
pimd Merge pull request #15661 from routingrocks/master 2024-04-11 13:44:00 +03:00
pkgsrc build: homologize path handling 2024-01-27 19:02:52 +01:00
python lib: add keychain northbound support 2024-03-04 20:00:15 -05:00
qpb qpb: Add missing #include nexthop.h 2024-02-10 00:44:50 +01:00
redhat debian, redhat: updating changelog for 10.0 release 2024-03-26 23:02:38 -05:00
ripd ripd: fix "clear ip rip" command 2024-03-09 00:00:12 +02:00
ripngd ripngd: fix "clear ipv6 ripng" command 2024-03-09 00:01:01 +02:00
sharpd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
snapcraft zebra, build: disable irdp by default 2024-01-28 23:50:40 +02:00
staticd Merge pull request #15285 from idryzhov/staticd-nexthop-refcounter 2024-02-08 15:53:30 -05:00
tests tests: Cleanup generate_support_bundle() to not fail 2024-04-10 09:28:17 -04:00
tools tools/indent.py: fix encoded byte stream handling 2024-04-10 16:05:03 +10:00
vrrpd *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
vtysh vtysh: Include fnctl.h for vtysh_main 2024-03-09 09:33:40 +02:00
watchfrr build: homologize path handling 2024-01-27 19:02:52 +01:00
yang *: remove confd plugin 2024-03-15 00:58:10 +02:00
zebra Merge pull request #15612 from sri-mohan1/srib-24-zebra-b 2024-04-14 21:06:28 +03:00
.clang-format tools: add comment about checking frrbot 2024-03-19 20:05:25 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.flake8 style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore tests: add YANG notification test 2024-01-30 14:54:47 -05:00
.isort.cfg style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.pylintrc style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.travis.yml lib: libyang2 add missed conversion 2021-05-17 22:13:59 -04:00
bootstrap.sh build: turn on automake warnings (& symlinks) 2021-04-21 15:42:37 +02:00
buildtest.sh build: update packaging & docs for dir changes 2024-01-27 19:01:19 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac *: remove confd plugin 2024-03-15 00:58:10 +02:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01:00
Makefile.am build: homologize path handling 2024-01-27 19:02:52 +01:00
README.md doc: Fix the link that points to Slack invitation in README 2022-03-24 13:13:37 +02:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
version.h build: make builddir include path consistent 2021-04-21 15:42:33 +02:00

Icon

FRRouting

FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD and supports all modern CPU architectures.

FRR currently supports the following protocols:

  • BGP
  • OSPFv2
  • OSPFv3
  • RIPv1
  • RIPv2
  • RIPng
  • IS-IS
  • PIM-SM/MSDP
  • LDP
  • BFD
  • Babel
  • PBR
  • OpenFabric
  • VRRP
  • EIGRP (alpha)
  • NHRP (alpha)

Installation & Use

For source tarballs, see the releases page.

For Debian and its derivatives, use the APT repository at https://deb.frrouting.org/.

Instructions on building and installing from source for supported platforms may be found in the developer docs.

Once installed, please refer to the user guide for instructions on use.

Community

The FRRouting email list server is located here and offers the following public lists:

Topic List
Development dev@lists.frrouting.org
Users & Operators frog@lists.frrouting.org
Announcements announce@lists.frrouting.org

For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.

Contributing

FRR maintains developer's documentation which contains the project workflow and expectations for contributors. Some technical documentation on project internals is also available.

We welcome and appreciate all contributions, no matter how small!

Security

To report security issues, please use our security mailing list:

security [at] lists.frrouting.org