Go to file
Stephen Worley be3b67b5ef pbrd: Add set vrf NAME and set vrf unchanged
`set vrf NAME` allows the pbr map to point to an arbitrary vrf table.

`set vrf unchanged` will use the interface's vrf for table lookup.

Further, add functionality for pbr to respond to interface events
such as interface vrf changes & interface creation/deletion.

Ex)
ubuntu_nh# show pbr map
  pbr-map TEST valid: 1
    Seq: 1 rule: 300 Installed: 3(1) Reason: Valid
        SRC Match: 3.3.3.3/32
        VRF Unchanged (use interface vrf)
  pbr-map TEST2 valid: 1
    Seq: 2 rule: 301 Installed: 3(2) Reason: Valid
        SRC Match: 4.4.4.4/32
        VRF Lookup: vrf-red

root@ubuntu_nh:/home# ip rule show
0:      from all lookup local
300:    from 3.3.3.3 iif dummy2 lookup main
300:    from 3.3.3.3 iif dummyVRF lookup 1111
301:    from 4.4.4.4 iif dummy1 lookup 1111
301:    from 4.4.4.4 iif dummy3 lookup 1111

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com-
2019-11-21 16:59:42 -05:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine alpine: clean up dep block 2019-10-16 20:38:27 +00:00
babeld *: strip trailing whitespace 2019-09-30 16:44:43 +00:00
bfdd Merge pull request #5274 from opensourcerouting/bfdd-vrf-socket 2019-11-19 11:41:06 -05:00
bgpd bgpd: Implementing a hash table for connected address - ipv4/ipv6 2019-11-20 01:23:11 +05:30
debian debian: update debian/copyright 2019-11-03 18:36:18 +01:00
doc pbrd: Add set vrf NAME and set vrf unchanged 2019-11-21 16:59:42 -05:00
docker Merge pull request #5005 from Frankkkkk/dockerfile 2019-10-04 13:51:23 +01:00
eigrpd ospfd,eigrpd: don't take address of packed struct member 2019-11-11 12:22:38 -05:00
fpm build: fix "make tags" 2019-09-17 16:35:12 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: fix "make tags" 2019-09-17 16:35:12 +02:00
include include: Add nexthop.h to the include automake file 2019-10-25 11:13:38 -04:00
isisd *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
ldpd ldpd: add missing sanity check in the parsing of label messages 2019-11-13 21:51:06 -03:00
lib Merge pull request #5224 from manuhalo/fix_frr_reload_paths 2019-11-19 17:12:38 -05:00
m4 build: add check for python-3.8 2019-08-14 15:06:52 +02:00
nhrpd *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
ospf6d *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
ospfclient build: fix a whole bunch of *FLAGS 2019-01-30 19:13:51 +01:00
ospfd ospfd: Rework ospf_read_packet into 2 functions 2019-11-19 08:09:56 -05:00
pbrd pbrd: Add set vrf NAME and set vrf unchanged 2019-11-21 16:59:42 -05:00
pimd pimd: fix bsm buflen check to include pim hdr 2019-11-19 21:54:02 -05:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python bgpd/bmp: BMP implementation 2019-08-30 19:22:23 +02:00
qpb build: fix "make tags" 2019-09-17 16:35:12 +02:00
redhat tools: Modifications to copy support bundle files 2019-09-13 10:05:13 -07:00
ripd *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
ripngd *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
sharpd *: Convert connected_free to a double pointer 2019-11-02 16:13:44 -04:00
snapcraft snapcraft: Add vrrpd to the snapcraft package 2019-11-19 10:46:33 +01:00
solaris *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
staticd staticd: remove unneeded newline from zlog call 2019-11-20 16:26:08 -05:00
tests Merge pull request #5257 from ton31337/fix/update_rib_on_bgp_distance_changes 2019-11-19 08:35:57 -08:00
tools Merge pull request #5224 from manuhalo/fix_frr_reload_paths 2019-11-19 17:12:38 -05:00
vrrpd vrrpd: some more error logging fixes 2019-10-30 06:02:07 +00:00
vtysh Merge pull request #5224 from manuhalo/fix_frr_reload_paths 2019-11-19 17:12:38 -05:00
watchfrr lib, watchfrr: Add some additional status messages to systemd 2019-10-03 21:09:28 -04:00
yang yang: add range to string nodes in zebra modules 2019-10-10 07:44:33 -07:00
zebra Merge pull request #5381 from donaldsharp/zebra_100_is_no_good 2019-11-20 07:35:03 -05: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/alpine: Update buildscript to keep the docker image around 2019-03-27 15:39:54 +01:00
.gitignore git: Ignore Visual Studio Code settings 2019-05-11 10:12:43 +03: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: cleanly split off from dist tarball 2019-02-19 21:31:18 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac *: Allow disabling of getrusage calls 2019-10-16 13:34:59 -04: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
defaults.h *: reindent 2017-07-17 14:04:07 +02:00
Makefile.am build: improve clippy options 2019-06-12 19:22:59 +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