Commit Graph

15688 Commits

Author SHA1 Message Date
Don Slice
ee951352d1 tools: frr-reload.py stop bouncing peers on bfd timer change
Problem reported that if a bgp neighbor had a bfd timer change
made in frr.conf and systemctl reload frr performed, the neighbor
with the timer changed bounced.  If the change is made in vtysh
by just adding the new timer values, no peer bounce occurs.  This
fix skips the delete part of the delete/add process in frr-reload
so the peers stay up.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2019-04-25 10:54:54 -07:00
Rafael Zalamena
545d3f7046 bfdd: fix UDP source port range
RFC 5881 Section 4 tells us that the BFD source port must be between
49152 and 65535 inclusive.

Spotted by Lucian Cristian.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2019-04-25 14:41:44 -03:00
Olivier Dugeon
2e2a8b9136 isisd: Add IS-IS-TE support per Area
Solve issue #4032

 - Change MPLS-TE from global to per Area
 - Add new mpls_te_area structure to area in replacement of global variable
isisMPLS_TE
 - Move mpls-te from global to instance in frr-isisd.yang
 - Change code in isis_te.c, isis_northbound.c, isis_cli.c, isis_pdu.c,
isis_lsp.c and isis_zebra.c accordingly

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2019-04-25 18:59:26 +02:00
Donatas Abraitis
1bc4e53187 bgpd: Make sure next-hop-self all backward compatible with force
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-04-25 16:39:49 +03:00
Donald Sharp
ba5165eccc zebra: Modify how we display/store os description
The alias/description of an interface in linux was being
used to override the internal description.  As such let's
fix the display to keep track of both if we have it.

Config in FRR:
!
interface docker0
 description another combination
!
interface enp3s0
 description BAMBOOZLE ME WILL YOU
!

Config in linux:
sharpd@robot ~/f/zebra> ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    alias This is the loopback you cabbage
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 74:d0:2b:9c:16:eb brd ff:ff:ff:ff:ff:ff
    alias HI HI HI

Now the 'show int descr' command:
robot# show int description
Interface       Status  Protocol  Description
docker0         up      down      another combination
enp3s0          up      up        BAMBOOZLE ME WILL YOU
                                  HI HI HI
lo              up      up        This is the loopback you cabbage

Fixes: #4191
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-25 04:22:43 -04:00
Mark Stapp
bbd8da796b
Merge pull request #4187 from donaldsharp/doc_pim
doc: Cleanup output of new PIM-EVPN doc
2019-04-24 15:18:27 -04:00
Mark Stapp
850af7ac4a
Merge pull request #4176 from qlyoung/doc-cleanup-ospf-apiserver
Cleanup OSPF API server docs
2019-04-24 14:49:16 -04:00
Quentin Young
7c8c9c8827 doc: typo / grammar pass on OSPF API docs
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-04-24 17:41:06 +00:00
Quentin Young
06fa7bb966 doc: add copyright notice from Ralph Keller
Ralph has kindly granted us GPLv2+ license to use this documentation,
and requests that we keep a reference to his name. Add these facts to
the documentation.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-04-24 17:37:09 +00:00
Quentin Young
9237bd1807
Merge pull request #4184 from ton31337/fix/documentation_for_as-path_regexp
doc: Specify allowed chars in bgp regular expressions
2019-04-24 11:54:35 -04:00
Donatas Abraitis
513386b57f bgpd: Do not send UPDATE message with maximum-prefix
When using maximum-prefix and count is overflow BGP
sends UPDATE message:

Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: 192.168.0.2 [Error] Error parsing NLRI
Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: %NOTIFICATION: sent to neighbor 192.168.0.2 3/10 (UPDATE Message Error/Invalid Network Field) 0 bytes

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-04-24 14:51:06 +03:00
Donald Sharp
2164ed5d04 pimd: Deletion of a ifchannel does not immediately mean remove from OIL
So when we remove a ifchannel from the system we should check to
see if we still care about the S,G having it in the OIL still
due to inheritance rules.  The deletion does not necessarily
mean it should not be in the OIL for the S,G.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-24 04:38:53 -04:00
Biswajit Sadhu
2f6197b044 bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop
Prevent IPv6 routes received via a ibgp session with one of its own interface
ip as nexthop from getting installed in the BGP table.

Implemented IPV6 HASH table, where we need to add any ipv6 address as they
gets configured and delete them from the HASH table as the ipv6 addresses
get unconfigured. The above hash table is used to verify if any route learned
via BGP has nexthop which is equal to one of its its connected ipv6 interface.

Signed-off-by: Biswajit Sadhu sadhub@vmware.com
2019-04-24 00:40:01 -07:00
Donald Sharp
e134b399bd pimd: Add missing flags to json output
the json code has not been updated since a variety of new flags have
been added to the code base.  Add those flags in so we can tell
what is going on sometimes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-23 22:01:44 -04:00
Donatas Abraitis
a818ea74e6 doc: Specify allowed chars in bgp regular expressions
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-04-23 22:35:20 +03:00
Quentin Young
e7a664c198 doc: pim evpn tabs -> spaces
And remove `interface` highlight directive

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-04-23 19:04:45 +00:00
Jafar Al-Gharaibeh
e400cd8aac
Merge pull request #4179 from donaldsharp/mroute_show
Mroute show
2019-04-23 11:18:22 -05:00
Jafar Al-Gharaibeh
736d1bf241
Merge pull request #4177 from donaldsharp/pim_more_sg
pimd: When creating new upstream state, figure out what we should join
2019-04-23 11:16:57 -05:00
Sri Mohana Singamsetty
48db712fa5
Merge pull request #4163 from chiragshah6/evpn_dev2
bgpd: instance delete unimport evpn routes
2019-04-23 09:10:13 -07:00
Donald Sharp
b85c68e31c
Merge pull request #4183 from ton31337/feature/validate_regexp_for_show_command_as_well
bgpd: Validate as-path in `show bgp regexp`
2019-04-23 10:25:56 -04:00
Russ White
6532ca1c40
Merge pull request #4185 from FRRouting/revert-4137-TE
Revert "isisd: Add IS-IS-TE support per Area"
2019-04-23 09:24:29 -04:00
Russ White
231e94e32a
Revert "isisd: Add IS-IS-TE support per Area" 2019-04-23 09:24:18 -04:00
Russ White
7d6f618dd5
Merge pull request #4137 from Orange-OpenSource/TE
isisd: Add IS-IS-TE support per Area
2019-04-23 09:23:40 -04:00
Donald Sharp
c1f0465a3d
Merge pull request #4162 from opensourcerouting/rip-issues
ripd, ripngd: fix cleaning up of offset lists
2019-04-23 08:34:47 -04:00
Donatas Abraitis
c39008533c bgpd: Validate as-path in show bgp regexp
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-04-23 11:25:35 +03:00
Donald Sharp
e2b5880e7b doc: Cleanup output of new PIM-EVPN doc
The PIM-EVPN doc was not rendering very well on the
website.  So Update documentation to allow it to render
better.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-23 02:15:58 -04:00
Donald Sharp
79b50aa561 doc: Update show ip mroute command docs.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-22 19:56:02 -04:00
Donald Sharp
c23c1d3957 pimd: Add ability to select on S or G for show ip mroute
Add the ability to select on a S or G for a `show ip mroute`
command.

show ip mroute 225.1.1.111
show ip mroute 4.5.6.7 225.1.1.111

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-22 19:51:20 -04:00
Donald Sharp
b077f57162 pimd: When creating new upstream state, figure out what we should join
Always when creating a new S,G state look at all possible ifchannels
to decide what the mroute should be.

The bug that this is fixing is this:

Suppose two incoming `*,G` joins on swp1, and swp2.
Now suppose that one of those ifchannel `*,G` sends a `*,G S,G RPT Prune`.
We were creating the S,G upstream state as we should but we were
only looking at the S,G ifchannel to decide the S,G mroute we would
be creating.  As such what we need to do is to look over the associated
*,G ifchannels and allow us to associate correct oil needed.

Ticket: CM-24732
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-04-22 17:45:04 -04:00
Quentin Young
f799ea3f94
Merge pull request #4173 from mjstapp/fix_linklist_warning
lib: fix warning in linklist api
2019-04-22 17:11:02 -04:00
Quentin Young
5354eea9e2 doc: add --apiserver to ospfd manpage
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-04-22 20:22:59 +00:00
Quentin Young
37f92f2215 doc: cleanup OSPF API server documentation
* Reflow to 80 columns
* Improve markup
* Add --apiserver option to example ospfd invocations
* Add note on requirement of this option to use api server

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-04-22 20:22:00 +00:00
Mark Stapp
75839aabb8 lib: fix warning in linklist api
Add return value and comment to new/recent linklist api
to clean up compile warning.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 15:49:16 -04:00
Donald Sharp
8f19bc1c69
Merge pull request #3786 from mjstapp/dplane_intf
zebra: async interface address programming
2019-04-22 15:29:02 -04:00
Quentin Young
0b4f815088
Merge pull request #4161 from opensourcerouting/nb-performance
lib: rework management of user pointers in the northbound layer
2019-04-22 15:10:34 -04:00
Mark Stapp
39fa2825ac zebra: removing old intf address code
Remove old ioctl and netlink interface-address code
after conversion to async dataplane

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Mark Stapp
0f1f6ce4d6 zebra: Dplane interface address install for non-netlink
ioctl-based platform code for interface address installation

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Mark Stapp
990b0d09d8 zebra: add 'is broadcast' accessor for interface data
Add flag and accessor corresponding to the interface struct's
'is broadcast' flag.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Mark Stapp
6339042cb9 libs: use const in some interface flag accessors
Use const in several interface struct flag accessors (that just
test flags.)

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Mark Stapp
6416880328 zebra: Use dplane for interface addresses (netlink)
Start using the dataplane for interface-address programming,
on netlink platforms. Other platforms just stubbed at this
point.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Mark Stapp
a4a4802a9b zebra: add interface-address info for dataplane
Add data and accessor apis for interface-address information.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 13:49:27 -04:00
Jafar Al-Gharaibeh
c6f637132f
Merge pull request #4025 from AnuradhaKaruppiah/pim-evpn
pim-evpn: Forwarding overlay BUM traffic via multicast VxLAN tunnels in the underlay
2019-04-22 11:44:52 -05:00
Quentin Young
786ca8ff68
Merge pull request #4057 from mjstapp/fix_privs_even_more
lib: serialize privs changes
2019-04-22 11:32:50 -04:00
Mark Stapp
8875d0515e libs: control privs changes with refcount
Use a refcount to control privs changes. Support process-wide
privs apis, as well as per-pthread apis.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-04-22 09:32:41 -04:00
Jafar Al-Gharaibeh
0fea2134c5
Merge pull request #4166 from donaldsharp/pim_s_g
Pim s g
2019-04-21 22:57:47 -05:00
Jafar Al-Gharaibeh
3f588114c9
Merge pull request #4170 from AnuradhaKaruppiah/evpn-fix-bgp-locks
bgpd: lock the tenant-vrf associated with the l2-vni
2019-04-21 22:56:53 -05:00
Quentin Young
bb6bf84035
Merge pull request #4156 from ton31337/fix/allow_backslash_in_as-path_regexp
bgpd: Allow backslash in as-path filter lists
2019-04-21 16:48:28 -04:00
Anuradha Karuppiah
d45432cd75 pimd: fix macro backslash alignment
Fixed in response to Jafar's comments.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2019-04-21 07:24:20 -07:00
Anuradha Karuppiah
fef327404f lib: two extra bytes were being allocated for the SG string
Fixup in response to Jafar's review comments.

This is actually old code moved in from pimd to lib. But the fixup does
make sense.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2019-04-21 07:24:20 -07:00
Anuradha Karuppiah
aa0677b4b6 zebra: use "mcast group" instead of just mcast in show and logs
Fixup done in response to Jafar's review comments.

root@act-7726-03:~# vtysh -c  "show interface vxlan1000111"
Interface vxlan1000111 is up, line protocol is up
  Link ups:       0    last: (never)
  Link downs:     0    last: (never)
  PTM status: disabled
  vrf: default
  index 95 metric 0 mtu 1500 speed 0
  flags: <UP,BROADCAST,RUNNING,MULTICAST>
  Type: Ethernet
  HWaddr: 7e:1d:c1:d5:d1:cc
  Interface Type Vxlan
  VxLAN Id 1000111 VTEP IP: 6.0.0.28 Access VLAN Id 111
  Mcast Group 239.1.1.111 >>>>>>>>>>
  Master (bridge) ifindex 99
root@act-7726-03:~#

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2019-04-21 07:24:20 -07:00