Commit Graph

9176 Commits

Author SHA1 Message Date
Chirag Shah
f1a0393033 ospfd: OSPFv2 VRF remove iflist from master
Remove instances of ospf master's iflist and use vrf_list
with ospf vrf_id.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
e1b18df1ea ospfd: fix vrf bind sock non-linux system
For non GNU_LINUX like open Bsd avoid sending packet
to non vrf aware device using in_pktinfo.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
e7503eab31 ospfd: Bind socket to vrf device
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
35955c14c2 ospfd: OSPFv2 VRF fixesI
Fix ospf interface running config to display vrf
fix clang warnings

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:22:47 -07:00
Chirag Shah
43b8d1d8a1 ospfd: OSPFv2 VRF Changes II
Accomodate review comments

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:20 -07:00
Chirag Shah
c0f3f7cdf8 ospfd: fix clang warning & ci-ospf test
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Chirag Shah
0d31e63e3e ospfd: OSPFv2 VRF, fix CLAN SA warning
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Chirag Shah
b5a8894de6 ospfd: OSPFv2 VRF Support
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-03 09:15:19 -07:00
Donald Sharp
7faf667af6 lib: Fix memset usage
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-03 12:03:56 -04:00
Jafar Al-Gharaibeh
cb64dec0d6 Merge pull request #1278 from chiragshah6/ospf_vrf_dev
ospfd: Fix maxage_lsa lookup key
2017-10-03 10:41:00 -05:00
Quentin Young
07fb10ad90 Merge pull request #1263 from vjardin6WIND/cleanup
Cleanup - scan-build
2017-10-03 11:39:59 -04:00
Jafar Al-Gharaibeh
09045d298d Merge pull request #1262 from dwalton76/vtysh-conft-available2
tools: frr-reload.py should exit(1) if vtysh config mode is locked
2017-10-03 10:34:33 -05:00
Christian Franke
58e1623702 isisd: optimize per interface lsp send-queue creation
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-10-03 14:20:30 +02:00
Donald Sharp
12e5c4abf1 eigrpd: Remove unnecessary macro definitions
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 21:29:08 -04:00
Donald Sharp
b748db674a eigrpd: Remove ei mapping to connected routes
We need one struct eigrp_interface per ifp structure
not a ifp->info structure with a ei per connected.

Some minor code cleanup as well with macros and
their weird usage.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 21:24:59 -04:00
Donald Sharp
79b3087675 eigrpd: Start fixing eigrp_interface
The EIGRP interface handling code created 2 levels
of interface information, the ei( created per *connected*
address?????) and the ifp->info pointer.

Start the combination of pushing these together and
cleaning up the weirdness that is these two data
structures.

This commit probably breaks eigrp's handling of
interfaces.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 19:51:49 -04:00
Chirag Shah
dcc3ef8723 ospfd: Fix maxage_lsa lookup key
maxage_lsa using prefix structure to store in route_table.
The lsa pointer is 4-8 bytes depending on arch, but prefix member field
would be 1 byte. Use ptr field of prefix structure to store lsa pointer.
Also memset to initialize to avoid crash on ARM platform as same LSA is
referenced from multiple times during shutdown of ospf.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-02 14:17:11 -07:00
Jafar Al-Gharaibeh
98e6d77f93 Merge pull request #1259 from qlyoung/vtysh-warn-mi
vtysh: 'x not running' redux
2017-10-02 15:19:21 -05:00
Jafar Al-Gharaibeh
00d89a0e57 Merge pull request #1250 from chiragshah6/ospf_vrf_dev
ospfd: fix virtual-link config command
2017-10-02 14:03:42 -05:00
Renato Westphal
47cf17fd59 Merge pull request #1277 from donaldsharp/zebra_crash
Zebra crash and valgrind issues
2017-10-02 14:05:54 -03:00
Chirag Shah
baf9eaad50 ospfd: ospf use macro for authentication
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-10-02 09:52:43 -07:00
Renato Westphal
36a58930ff Merge pull request #1254 from donaldsharp/irdp_no_crash
zebra: Fix irdp so it doesn't crash when looked at
2017-10-02 12:41:24 -03:00
Donald Sharp
f88bd20c39 zebra: Cleanup ptm memory *after* we tell the sockets to clean up
The zebra_ptm_finish() code was being called before the
client_list deletion.  The client_list deletion is
attempting to call the ptm daemon and shut down the connection.
We should not be doing this *after* we shut down memory associated
with it as that we were writing into memory in random spots
in this case.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 11:06:09 -04:00
Donald Sharp
b8aa376766 zebra: Properly initialize memory for rtadv
The adata pointer was not properly being set to
0 before being used.  In addition notice malloc
failure and hard exit.  If we have no memory on
startup something terrible has gone wrong and
we were going to crash shortly here anyways.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 11:06:06 -04:00
Donald Sharp
75d07b8b83 Merge pull request #1276 from opensourcerouting/isis-fix-vertex-queue
isisd: fix vertex queue comparator
2017-10-02 10:51:07 -04:00
Donald Sharp
cbaca6a144 zebra: Fix valgrind report of unintialized data
When calling the kernel we are not properly initializing
iov and msg on function startup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-02 10:42:53 -04:00
Christian Franke
60d3914270 isisd: fix vertex queue comparator
While vertizes should be strictly ordered on insertion, deletion
will of course encouter equality.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-10-02 16:03:11 +02:00
Vincent JARDIN
04d14c8be1 scan-build: fix warning
Do not change the implementation, just fix scan-build/clang warning.
2017-10-02 09:14:03 +02:00
Vincent JARDIN
89a48046dd ospf_packet: scan-build/clang clean up
get the code safer using snprintf().
2017-10-02 09:14:03 +02:00
Vincent JARDIN
c31a793b48 scan-build: cleanup some warnings
Current cleanup is for unset values or variables that are not used anymore.

Regarding ospfd/ospf_vty.c: argv_find()
  we'll never get it NULL, so get coststr = argv[idx]->arg;
2017-10-02 09:14:03 +02:00
Vincent JARDIN
80a5a11bb1 sha256: fix clang warning
t0 and t1 are not used, but want do really want them to be reset to secure
the stack.
Suggested by Quentin: let's use memset() to be consistent.
2017-10-02 09:14:03 +02:00
Jafar Al-Gharaibeh
51dcd4c376 Merge pull request #1260 from donaldsharp/logrotate
debian: Fix logrotate when FRR is not running
2017-09-30 22:49:27 -05:00
Jafar Al-Gharaibeh
14dc41be15 Merge pull request #1265 from donaldsharp/pim_fill
pimd: Add 'show ip mroute fill' command
2017-09-30 22:48:37 -05:00
Jafar Al-Gharaibeh
bc5dcce7da Merge pull request #1271 from donaldsharp/multiplier
lib: Fix abbreviation
2017-09-30 22:47:43 -05:00
Chirag Shah
cbb9b53d32 ospfd: fix area virtual-link command
Adjust to review comments

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-30 19:50:44 -07:00
Chirag Shah
55d1da2490 ospfd: ospf virtual-link fix
Initialize idx to 0 and remove reassignment of idx

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-29 10:52:11 -07:00
Renato Westphal
867be27151 Merge pull request #1255 from qlyoung/vtysh-remove-double-slash
vtysh: remove extra / in config path
2017-09-29 14:47:48 -03:00
Donald Sharp
b077b2e658 lib: Fix abbreviation
The word Multiplier has been abbreviated to 'Mul' in
the output.  This apparently is causing people
angst.  Write word out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-29 11:53:53 -04:00
Quentin Young
3607783335
lib: remove extra / in other paths
Non-integrated config paths need the treatment as well.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-09-29 11:26:11 -04:00
Renato Westphal
c00ad29fc4 Merge pull request #1236 from donaldsharp/interface_startup
zebra: Do not allow same rib_dest_t be queued multiple times to meta …
2017-09-28 22:04:02 -03:00
Renato Westphal
f0722791a0 ldpd: add more filtering options in some "show" commands
Being able to filter the output of some "show" commands is super useful
when troubleshooting large MPLS networks.

Examples:

% show mpls ldp ipv4 binding 10.0.0.48/29 longer-prefixes neighbor 192.168.0.5
AF   Destination          Nexthop         Local Label Remote Label  In Use
ipv4 10.0.0.48/30         192.168.0.5     24          26                no
ipv4 10.0.0.52/30         192.168.0.5     25          27                no

% show mpls ldp ipv4 binding 10.0.0.48/29 longer-prefixes neighbor 192.168.0.5 detail json
{
  "10.0.0.48\/30":{
    "localLabel":"24",
    "advertisedTo":[
      {
        "neighborId":"192.168.0.5"
      }
    ],
    "remoteLabels":[
      {
        "neighborId":"192.168.0.5",
        "label":"26",
        "inUse":0
      }
    ]
  },
  "10.0.0.52\/30":{
    "localLabel":"25",
    "advertisedTo":[
      {
        "neighborId":"192.168.0.5"
      }
    ],
    "remoteLabels":[
      {
        "neighborId":"192.168.0.5",
        "label":"27",
        "inUse":0
      }
    ]
  }
}

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-28 21:51:05 -03:00
Renato Westphal
9e452e5dd1 ldpd: improve ordering of interfaces on user output
Before:

debian# show mpls ldp interface
AF   Interface   State  Uptime   Hello Timers  ac
ipv4 rt0-eth0    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth1    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth10   ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth11   ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth2    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth3    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth4    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth5    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth6    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth7    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth8    ACTIVE 00:00:05 5/15           1
ipv4 rt0-eth9    ACTIVE 00:00:05 5/15           1

After:

debian# show mpls ldp interface
AF   Interface   State  Uptime   Hello Timers  ac
ipv4 rt0-eth0    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth1    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth2    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth3    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth4    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth5    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth6    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth7    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth8    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth9    ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth10   ACTIVE 00:00:14 5/15           1
ipv4 rt0-eth11   ACTIVE 00:00:14 5/15           1

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-09-28 21:50:46 -03:00
Lou Berger
2d9c2ae397 Merge pull request #1261 from dwalton76/bgpd-4byte-display
bgpd: fix 4-byte AS display in bestpath-from-AS
2017-09-28 17:50:19 -04:00
Quentin Young
91fd1b8d9c
vtysh: more multi-instance fixing
Preexisting code to detect commands targeted at wrong instance didn't
work because a command applied to a disconnected vtysh_client counted as
a successful run overriding wrong instance error message

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-09-28 14:01:05 -04:00
Donald Sharp
45b7b09283 pimd: Add 'show ip mroute fill' command
When displaying the mroute table, add ability to fill
in all the missing data that for human eyes can be assumed.
This will allow people using grep over the command
can get more information.

sharpd@robot ~> sudo vtysh -c "show ip mroute fill"
Source          Group           Proto  Input      Output     TTL  Uptime
*               229.1.1.1       STATIC dum0       enp3s0     1    00:11:07 Default-IP-Routing-Table
*               229.1.1.1       STATIC dum0       virbr0     1    00:01:47 Default-IP-Routing-Table
sharpd@robot ~>

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-28 08:05:20 -04:00
Chirag Shah
3d1c6dc2c6 ospfd: fix ospf virtual-link command options
use argv_find to extract ospf area virtual-link command options.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-09-27 17:33:12 -07:00
Daniel Walton
2f52ad9627 tools: frr-reload.py should exit(1) if vtysh config mode is locked
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-09-27 18:47:47 +00:00
Renato Westphal
67c0a9206c Merge pull request #1180 from dwalton76/ipv6-static-route-null0
Ipv6 static route null0
2017-09-27 13:42:53 -03:00
Jafar Al-Gharaibeh
78ab711529 Merge pull request #1247 from qlyoung/mcast-boundary-igmp
pimd: add support for boundaries
2017-09-27 11:42:13 -05:00
Daniel Walton
fb2b09347d bgpd: fix 4-byte AS display in bestpath-from-AS
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

Before
======
cel-redxp-10# show ip bgp 20.1.3.0/24
BGP routing table entry for 20.1.3.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  top1(10.1.1.2) bottom0(20.1.2.2)
  4294967292
    20.1.2.2 from bottom0(20.1.2.2) (20.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, external,
bestpath-from-AS -4, best
      Community: 99:1
      AddPath ID: RX 0, TX 92
      Last update: Wed Sep 27 16:02:34 2017

cel-redxp-10#

After
=====
cel-redxp-10# show ip bgp 20.1.3.0/24
BGP routing table entry for 20.1.3.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  bottom0(20.1.2.2)
  4294967292
    20.1.2.2 from bottom0(20.1.2.2) (20.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, external,
bestpath-from-AS 4294967292, best
      Community: 99:1
      AddPath ID: RX 0, TX 2
      Last update: Wed Sep 27 16:07:09 2017

cel-redxp-10#
2017-09-27 16:07:24 +00:00