Go to file
Philippe Guibert 932404b7b0 bgpd: handle ICMP type and code from flowspec
It is possible for flowspec entries containing ICMP rule to insert PBR
entries based on ICMP type and ICMP code.
Flowspec ICMP filtering can either have icmp type or icmp code or both.
Not all combinations are permitted:
- if icmp code is provided, then it is not possible to derive the
  correct icmp value. This will not be installed
- range of ICMP is authorised or list of ICMP, but not both.
- on receiving a list of ICMPtype/code, each ICMP type is attempted to
  be associated to ICMP code. If not found, then ICMPtype is combined
  with all known ICMP code values associated to that ICMP type.
- if a specific ICMP type/code is needed, despite the ICMP code/type
  combination does not exist, then it is possible to do it by forging a
  FS ICMP type/code specific for that.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-06-28 08:52:15 +02:00
alpine alpine: add unit tests to build 2018-06-14 10:27:24 -07:00
babeld Merge pull request #2486 from pacovn/cppcheck_fmt_validation 2018-06-18 15:23:49 -04:00
bgpd bgpd: handle ICMP type and code from flowspec 2018-06-28 08:52:15 +02:00
debianpkg debianpkg: Add additional lintian override for Ubuntu 18.04 2018-06-12 12:06:00 -07:00
doc Merge pull request #2449 from donaldsharp/lib_delayed_read 2018-06-22 13:13:05 -04:00
docker alpine packaging: use a more standard packaging format 2018-04-09 15:34:50 -07:00
eigrpd eigrpd ospfd: null chk (Coverity 1458168 1455335) 2018-06-25 16:37:04 +02:00
fpm build: clean up BUILT_SOURCES 2017-08-04 11:13:55 +02:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
include include: add netlink.h to our build system 2018-06-21 08:07:30 -04:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd isisd: out-of-bounds access (Coverity 1452552) 2018-06-25 12:16:32 +02:00
ldpd ldpd: null check (Coverity 1452317) 2018-06-25 16:47:15 +02:00
lib Merge pull request #2570 from pacovn/Coverity_1448386_Untrusted_value_as_argument 2018-06-27 15:09:34 -04:00
m4 build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
nhrpd nhrpd: array limit check (cppcheck) 2018-06-18 18:13:41 +02:00
ospf6d ospf6d: null check (Coverity 23024) 2018-06-27 15:31:05 +02:00
ospfclient *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospfd ospfd: null check (Coverity 23110) 2018-06-27 14:41:50 +02:00
pbrd pbrd: add logging messages when out of table id's 2018-06-13 20:00:58 +00:00
pimd Merge pull request #2556 from pacovn/Coverity_1465491_Untrusted_value_as_argument_3 2018-06-26 19:59:27 -04:00
pkgsrc *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
python lib, python: DEFPY_ATTR, DEFPY_HIDDEN 2018-04-10 12:19:03 -04:00
qpb *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
redhat redhat: fix else cases in spec file 2018-06-19 09:57:52 +02:00
ripd ripd: out-of-bounds read (Coverity 1399295) 2018-06-22 19:16:52 +02:00
ripngd *: remove -r from daemons except zebra 2018-05-21 19:09:49 +00:00
sharpd sharpd: Does not need any special priv's 2018-06-21 11:28:16 -04:00
snapcraft snapcraft: Add PBR daemon to snap package 2018-04-30 18:53:18 -07:00
solaris gitignore: update references to FRR 2017-07-12 11:55:04 -05:00
tests Merge pull request #2408 from ajones-rvbd/ajones-issue-2403 2018-06-21 14:43:16 -04:00
tools Merge pull request #2505 from pacovn/Coverity_1143220_Argument_cannot_be_negative 2018-06-21 15:02:31 -04:00
vtysh *: remove deprecated 'log trap' commands 2018-06-25 16:35:34 +00:00
watchfrr *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
zebra zebra: improve show zebra ipset output for icmp 2018-06-28 08:52:15 +02:00
.clang-format ospfd: LSDB_LOOP treat it as a loop. 2018-01-17 13:29:58 -05:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore alpine packaging: build packages and base image directly from git 2018-04-04 10:05:44 -07:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00: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 Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
common.am *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00
configure.ac *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00: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 *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README frr: fix typo in README 2018-05-14 11:06:27 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00

FRRouting is free software that implements and manages various IPv4 and IPv6
routing protocols.

Currently FRRouting supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng,
IS-IS, PIM-SM/MSDP, LDP and Babel as well as very early support for EIGRP and
NHRP.

See doc/user/bugs.rst for information on how to report bugs.

See doc/developer/workflow.rst for information on contributing.

See the file COPYING for copying conditions.

Public email discussion can be found at https://lists.frrouting.org/listinfo

Our public slack channel is at https://frrouting.slack.com