Go to file
Donald Sharp 0dd8f34328 bgpd: Allow bgp static routes to use /32's
If you are including a network statement of a /32
then the current bgp martian checks will match the /32
together.

Problem:
!
router bgp 3235
 neighbor 192.168.161.2 remote-as external
 neighbor 192.168.161.131 remote-as external
 !
 address-family ipv4 unicast
  network 10.10.3.11/32
  network 192.168.161.0/24
  no neighbor 192.168.161.2 activate
  neighbor 192.168.161.2 route-map BLUE in
 exit-address-family
!
eva# show bgp ipv4 uni
BGP table version is 1, local router ID is 10.10.3.11, vrf id 0
Default local pref 100, local AS 3235
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
   10.10.3.11/32    0.0.0.0(eva)             0         32768 i
*> 192.168.161.0/24 0.0.0.0(eva)             0         32768 i
Displayed  2 routes and 2 total paths
eva# show bgp import-check-table
Current BGP import check cache:
 192.168.161.0 valid [IGP metric 0], #paths 1
  if enp39s0
  Last update: Fri Sep 25 08:00:42 2020
 10.10.3.11 valid [IGP metric 0], #paths 1
  if lo
  Last update: Fri Sep 25 08:00:42 2020
eva# show bgp ipv4 uni summ
BGP router identifier 10.10.3.11, local AS number 3235 vrf-id 0
BGP table version 1
RIB entries 3, using 576 bytes of memory
Peers 1, using 21 KiB of memory
Neighbor                 V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
janelle(192.168.161.131) 4      60000        69        70        0    0    0 00:03:21            0        1
Total number of neighbors 1

When we are deciding that a nexthop is valid there is not much point in checking
that a static route has a martian nexthop or not, since we self derived it already.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2020-09-28 11:22:00 +03:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
babeld build: use VPATH for vtysh_scan 2020-04-27 09:30:01 +02:00
bfdd Merge pull request #6301 from pguibert6WIND/bfd_debug_show 2020-04-27 15:12:07 -03:00
bgpd bgpd: Allow bgp static routes to use /32's 2020-09-28 11:22:00 +03:00
debian build: fix data plane FPM netlink module 2020-04-14 13:45:39 -03:00
doc doc: Add some words about bgp default show-[nexthop]-hostname 2020-07-15 21:27:22 +03:00
docker Merge pull request #5606 from ton31337/fix/docker_centos8_image_name 2020-01-06 11:24:15 -06:00
eigrpd build: make clippy Makefile rules nicer 2020-04-27 09:52:41 +02:00
fpm *: Replace sizeof something to sizeof(something) 2020-03-08 21:44:53 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: add LLVM bitcode targets 2020-05-05 14:39:12 +02:00
include include: add kernel header for seg6/seg6local 2020-01-09 09:53:04 +09:00
isisd isisd: Update Segment Routing Show Commands 2020-05-14 16:36:43 +02:00
ldpd ldpd: ldp-oc withdraw fix 2020-08-05 17:11:28 -04:00
lib lib: fix TLS log buffer on NetBSD 2020-07-20 06:30:00 +02:00
m4 build: move python 2.x to the very last preference 2020-04-27 09:52:41 +02:00
mlag zebra: Do not build mlag protobuf support if version 3 is not avail 2019-12-15 09:37:51 -05:00
nhrpd build: use VPATH for vtysh_scan 2020-04-27 09:30:01 +02:00
ospf6d build: use VPATH for vtysh_scan 2020-04-27 09:30:01 +02:00
ospfclient *: Replace s_addr 0 => INADDR_ANY 2020-02-06 09:00:12 +02:00
ospfd *: have daemons call frr_fini() at termination 2020-06-11 15:41:52 -04:00
pbrd *: have daemons call frr_fini() at termination 2020-06-11 15:41:52 -04:00
pimd pimd: fix IGMP querier election 2020-08-26 11:14:51 -05:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: Make FRR build compatible with python 2.7 and 3.x 2020-08-19 19:39:24 +02:00
qpb build: add LLVM bitcode targets 2020-05-05 14:39:12 +02:00
redhat FRRouting Release 7.4 2020-06-30 13:08:57 +02:00
ripd build: make clippy Makefile rules nicer 2020-04-27 09:52:41 +02:00
ripngd build: make clippy Makefile rules nicer 2020-04-27 09:52:41 +02:00
sharpd *: have daemons call frr_fini() at termination 2020-06-11 15:41:52 -04:00
snapcraft snapcraft: Add vrrpd to the snapcraft package 2019-11-19 10:46:33 +01:00
solaris doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
staticd *: have daemons call frr_fini() at termination 2020-06-11 15:41:52 -04:00
tests tests: Remove bgp_show_ip_bgp_fqdn test 2020-07-15 21:27:10 +03:00
tools tools: create sub-context for bfd peers 2020-07-14 13:44:30 -03:00
vrrpd *: have daemons call frr_fini() at termination 2020-06-11 15:41:52 -04:00
vtysh Merge pull request #6728 from idryzhov/vtysh-fixes 2020-07-15 12:11:40 +03:00
watchfrr build: make clippy Makefile rules nicer 2020-04-27 09:52:41 +02:00
yang isisd: add segment-routing YANG nodes and skeleton callbacks 2020-04-30 11:37:38 +02:00
zebra zebra: Allow FreeBSD to set and delete addresses from an interface 2020-09-22 10:05:53 -04:00
.clang-format *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
.dir-locals.el tools: fix emacs configuration file 2019-11-04 11:45:52 -03:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.gitignore python: add graphviz callgraphs 2020-05-05 14:39:12 +02:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
changelog-auto.in debian: fix changelog 2020-07-14 14:29:56 +03:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac FRRouting Release 7.4 2020-06-30 13:08:57 +02:00
COPYING *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 2016-11-15 17:19:38 +09:00
Makefile.am python: add graphviz callgraphs 2020-05-05 14:39:12 +02:00
README.md README.md: Add FRR Icon 2019-10-29 12:42:06 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00: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 as well as Solaris 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