]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
14 months agoMerge pull request #12959 from leonshaw/fix/zif-link-nsid
Jafar Al-Gharaibeh [Tue, 11 Apr 2023 21:38:33 +0000 (16:38 -0500)]
Merge pull request #12959 from leonshaw/fix/zif-link-nsid

zebra: Add link_nsid to zebra interface

14 months agoMerge pull request #13258 from donaldsharp/evpn_ping
Mark Stapp [Tue, 11 Apr 2023 20:15:44 +0000 (16:15 -0400)]
Merge pull request #13258 from donaldsharp/evpn_ping

Evpn ping

14 months agoMerge pull request #13260 from donaldsharp/bgp_l3vpn_to_vrf_scale_up
Mark Stapp [Tue, 11 Apr 2023 20:05:32 +0000 (16:05 -0400)]
Merge pull request #13260 from donaldsharp/bgp_l3vpn_to_vrf_scale_up

tests: Ensure that the scale_up.py script tests for actual sharp inst…

14 months agoMerge pull request #13090 from pguibert6WIND/explicit_null
Donatas Abraitis [Tue, 11 Apr 2023 19:48:01 +0000 (22:48 +0300)]
Merge pull request #13090 from pguibert6WIND/explicit_null

bgpd: add cli command to control explicit-null label usage

14 months agoMerge pull request #13213 from mjstapp/fix_dplane_shutdown_event
Donatas Abraitis [Tue, 11 Apr 2023 19:24:35 +0000 (22:24 +0300)]
Merge pull request #13213 from mjstapp/fix_dplane_shutdown_event

zebra: fix race during shutdown

14 months agoMerge pull request #13250 from chiragshah6/fdev1
Donatas Abraitis [Tue, 11 Apr 2023 17:05:34 +0000 (20:05 +0300)]
Merge pull request #13250 from chiragshah6/fdev1

bgpd:add local_es_df_preference into l2vpn-evpn es json output

14 months agotests: Ensure that the scale_up.py script tests for actual sharp installed routes...
Donald Sharp [Tue, 11 Apr 2023 14:49:34 +0000 (10:49 -0400)]
tests: Ensure that the scale_up.py script tests for actual sharp installed routes first

The scale_up.py script used by several tests installs 50k routes into the rib from
sharpd.  It is first looking for the results in the bgp database.  Let's ensure
that the routes are actually installed into the rib first before looking in
the bgp tables.  This should help situations where the system is under extreme
load.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13254 from manojvn/remove_startupjson_doc
Donatas Abraitis [Tue, 11 Apr 2023 14:28:55 +0000 (17:28 +0300)]
Merge pull request #13254 from manojvn/remove_startupjson_doc

mgmtd: remove the frr_startup.json related documentation.

14 months agotopotests: add topotest to check bgp lu explicit-null service
Philippe Guibert [Fri, 24 Mar 2023 06:08:48 +0000 (07:08 +0100)]
topotests: add topotest to check bgp lu explicit-null service

The test ensures that the incoming prefixes are received with
the appropriate label value, and that connectivity is ensured
between prefixes.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agobgpd: add cli command to control explicit-null label usage
Philippe Guibert [Fri, 17 Mar 2023 13:46:13 +0000 (14:46 +0100)]
bgpd: add cli command to control explicit-null label usage

In BGP labeled unicast address-family, it is not possible to
send explicit-null label values with redistributed or network
declared prefixes.
A new CLI command is introduced:

  > [no] bgp labeled-unicast explicit-null

When used, the explicit-null value for IPv4 ('0' value) or
IPv6 ('2' value) will be used.
It is necessary to reconfigure the networks or the
redistribution in order to inherit this new behaviour.

Add the documentation.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agoMerge pull request #13163 from isabelladeleon12/isis_log_drops
Russ White [Tue, 11 Apr 2023 13:55:24 +0000 (09:55 -0400)]
Merge pull request #13163 from isabelladeleon12/isis_log_drops

isisd: Add support for log-pdu-drops

14 months agoMerge pull request #12698 from Orange-OpenSource/isisd
Russ White [Tue, 11 Apr 2023 13:49:01 +0000 (09:49 -0400)]
Merge pull request #12698 from Orange-OpenSource/isisd

Isisd/Lib: Add new printfrr format facility for Intermediate System ID

14 months agotests: Cleanup formatting in a couple of test scripts
Donald Sharp [Tue, 11 Apr 2023 13:16:36 +0000 (09:16 -0400)]
tests: Cleanup formatting in a couple of test scripts

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agotests: Fix evpn tests to ensure mac addresses will show up
Donald Sharp [Tue, 11 Apr 2023 13:15:13 +0000 (09:15 -0400)]
tests: Fix evpn tests to ensure mac addresses will show up

Locally, the bgp_evpn_vxlan_svd_topo1 and bgp_evpn_vxlan_topo1
tests are failing for me.  Upon inspection the test is looking
for the mac addresses of the interfaces participating in the
evpn bridging on the hosts.  For some reason on my machine
these mac addresses are not in the l2 tables at all on
PE1 or PE2.  Adding quick pings solves the problems.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13227 from mjstapp/ospf_sock_bufsizes
Russ White [Tue, 11 Apr 2023 12:55:47 +0000 (08:55 -0400)]
Merge pull request #13227 from mjstapp/ospf_sock_bufsizes

ospfd: support configuration of socket buffer sizes

14 months agoMerge pull request #13226 from anlancs/fix/ripd-leak
Donatas Abraitis [Tue, 11 Apr 2023 11:37:40 +0000 (14:37 +0300)]
Merge pull request #13226 from anlancs/fix/ripd-leak

ripd: Fix memory leak for ripd's route-map

14 months agoMerge pull request #13240 from chiragshah6/fdev2
Donatas Abraitis [Tue, 11 Apr 2023 11:34:12 +0000 (14:34 +0300)]
Merge pull request #13240 from chiragshah6/fdev2

bgpd: EVPN-MH ESI is not active suppress EAD-ES Type-1 route

14 months agoMerge pull request #13245 from anlancs/cleanup/ripd-1
Donatas Abraitis [Tue, 11 Apr 2023 11:31:51 +0000 (14:31 +0300)]
Merge pull request #13245 from anlancs/cleanup/ripd-1

ripd: Cosmetic changes for ripd

14 months agomgmtd: remove the frr_startup.json related documentation.
Manoj Naragund [Tue, 11 Apr 2023 11:03:58 +0000 (04:03 -0700)]
mgmtd: remove the frr_startup.json related documentation.

Since mgmtd no longer supports the frr_startup.json, removing the
documentation related to that. Proper documentation will be added
when/if the frr_startup.json is ever supported.

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
14 months agoMerge pull request #13247 from donaldsharp/evpn_crashes_and_other_ilk
Christian Hopps [Tue, 11 Apr 2023 06:35:26 +0000 (02:35 -0400)]
Merge pull request #13247 from donaldsharp/evpn_crashes_and_other_ilk

Evpn crashes and other ilk

14 months agobgpd:add local_es_df_preference into l2vpn-evpn es json output
Sindhu Parvathi Gopinathan [Mon, 10 Apr 2023 11:54:09 +0000 (04:54 -0700)]
bgpd:add local_es_df_preference into l2vpn-evpn es json output

Added "Local ES DF preference" into bgp l2vpn evpn es json output.

 - show bgp l2vpn evpn es <es-id> json
 - show  bgp l2vpn evpn es detail json

Before Fix:-
```
cumulus@torm-11:mgmt:~$ sudo vtysh -c "show bgp l2vpn evpn es
03:44:38:39:ff:ff:01:00:00:01 json"
{
  "esi":"03:44:38:39:ff:ff:01:00:00:01",
  "rd":"27.0.0.21:15",
  "type":[
    "local",
    "remote"
  ],
  "vteps":[
    {
      "vtep_ip":"27.0.0.22",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    },
    {
      "vtep_ip":"27.0.0.23",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    }
  ],
  "vniCount":10,
  "flags":[
    "up",
    "advertiseEVI"
  ],
  "originator_ip":"27.0.0.21",
  "remoteVniCount":10,
  "vrfCount":3,
  "macipPathCount":33,
  "macipGlobalPathCount":132,
  "inconsistentVniVtepCount":0,
  "fragments":[
    {
      "rd":"27.0.0.21:15",
      "eviCount":10
    }
  ]
}
cumulus@torm-11:mgmt:~$
```

After Fix:-
```
cumulus@torm-11:mgmt:~$
cumulus@torm-11:mgmt:~$ sudo vtysh -c "show bgp l2vpn evpn es
03:44:38:39:ff:ff:01:00:00:01 json"
{
  "esi":"03:44:38:39:ff:ff:01:00:00:01",
  "rd":"27.0.0.21:4",
  "type":[
    "local",
    "remote"
  ],
  "vteps":[
    {
      "vtep_ip":"27.0.0.22",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    },
    {
      "vtep_ip":"27.0.0.23",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    }
  ],
  "vniCount":10,
  "flags":[
    "advertiseEVI"
  ],
  "originator_ip":"27.0.0.21",
  "remoteVniCount":10,
  "vrfCount":3,
  "macipPathCount":33,
  "macipGlobalPathCount":132,
  "inconsistentVniVtepCount":0,
  "localEsDfPreference":50000, ====> Added Local ES DF preference
  "fragments":[
    {
      "rd":"27.0.0.21:4",
      "eviCount":10
    }
  ]
}
cumulus@torm-11:mgmt:~$
```

Ticket:#3411906

Issue:3411906

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
14 months agobgpd: Do not allow a `no router bgp XXX` when autoimport is happening
Donald Sharp [Mon, 10 Apr 2023 18:04:27 +0000 (14:04 -0400)]
bgpd: Do not allow a `no router bgp XXX` when autoimport is happening

When we have these sequence of events causing a crash in
evpn_type5_test_topo1:

(A) no router bgp vrf RED 100
   this schedules for deletion the vrf RED instance
(B) a l3vni change event from zebra
   this creates a bgp instance for VRF RED in some cases
   additionally it auto imports evpn routes into VRF RED
   Please note this is desired behavior to allow for the
   auto importation of evpn vrf routes
(C) no router bgp 100
   The code was allowing the deletion of the default
   instance and causing tests to crash.

Effectively the test in bgp_vty to allow/dissallow
the removal of the default instance was not correct
for the case when (B) happens.

Let's just not allow the command to succeed in this case as that
the test was wrong.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Do not allow l3vni changes when shutting down
Donald Sharp [Mon, 10 Apr 2023 17:59:48 +0000 (13:59 -0400)]
bgpd: Do not allow l3vni changes when shutting down

When a `no router bgp XXX` is issued and the bgp instance
is in the process of shutting down, do not allow a l3vni
change coming up from zebra to do anything.  We can just
safely ignore it at this point in time.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Use the actual pointer type instead of a void
Donald Sharp [Mon, 10 Apr 2023 18:02:18 +0000 (14:02 -0400)]
bgpd: Use the actual pointer type instead of a void

Let's cut to the chase, we know the pointer type and
it allows us to not to some gyrations.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13239 from opensourcerouting/fix/enable_scripting_for_docker_alpi...
Jafar Al-Gharaibeh [Mon, 10 Apr 2023 16:29:20 +0000 (11:29 -0500)]
Merge pull request #13239 from opensourcerouting/fix/enable_scripting_for_docker_alpine_build

docker: Fix --enable-scripting for Docker images

14 months agoripd: Simplify code for distance
anlan_cs [Mon, 10 Apr 2023 07:20:43 +0000 (15:20 +0800)]
ripd: Simplify code for distance

Simplify the code for `rip_distance_apply()`.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agoripd: Correct one debug log
anlan_cs [Mon, 10 Apr 2023 03:04:47 +0000 (11:04 +0800)]
ripd: Correct one debug log

Correct one debug log, which wrongly mixed address and port.

Before:
```
ripd[469497]: [NDAGH-Z85V7] rip_send_packet 3.3.3.4 > 224.0.0.9 (enp1s0)
ripd[469497]: [VEJY5-67P5X] SEND to 224.0.0.9520
```
After:
```
ripd[471330]: [NDAGH-Z85V7] rip_send_packet 3.3.3.4 > 224.0.0.9 (enp1s0)
ripd[471330]: [T8DFR-P09JH] SEND to 224.0.0.9 port 520
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agobgpd:evpn-mh esi not active suppress ead-es route
Chirag Shah [Sat, 8 Apr 2023 03:14:25 +0000 (20:14 -0700)]
bgpd:evpn-mh esi not active suppress ead-es route

update_type1_routes_for_evi() is called from
L3VNI/L2VNI up event, if ESI is not UP then
do not advertise EAD-ES Type-1 route.
Just like from multiple places EAD-ES route
origination checks for its oper status.

Ticket:#3413454
Issue:3413454

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
14 months agotests: Copy script1.lua for make dist
Donatas Abraitis [Sat, 8 Apr 2023 15:00:53 +0000 (18:00 +0300)]
tests: Copy script1.lua for make dist

This is needed for `make dist` when building Docker images with Lua support.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agodocker: Enable Lua (scripting) for Alpine images
Donatas Abraitis [Sat, 8 Apr 2023 15:00:20 +0000 (18:00 +0300)]
docker: Enable Lua (scripting) for Alpine images

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agobuild: Take LUA_LIBS from pkg-config
Donatas Abraitis [Sat, 8 Apr 2023 14:59:51 +0000 (17:59 +0300)]
build: Take LUA_LIBS from pkg-config

Alpine Linux has LUA_LIB with a broken path, let's use pkg-config to grab
the LUA_LIBS properly.

checking for library containing lua_load... no
configure: error: Lua 5.3 libraries are required to build with Lua support. No other version is supported.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agoMerge pull request #13237 from LabNConsulting/chopps/fixriptest
Donald Sharp [Sat, 8 Apr 2023 13:23:22 +0000 (09:23 -0400)]
Merge pull request #13237 from LabNConsulting/chopps/fixriptest

tests: fix cause of intermittent failure

14 months agotests: fix cause of intermittent failure
Christian Hopps [Sat, 8 Apr 2023 00:01:33 +0000 (00:01 +0000)]
tests: fix cause of intermittent failure

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoMerge pull request #13109 from LabNConsulting/topotest-cleanup
Jafar Al-Gharaibeh [Fri, 7 Apr 2023 19:45:33 +0000 (14:45 -0500)]
Merge pull request #13109 from LabNConsulting/topotest-cleanup

minor topotest cleanup

14 months agoMerge pull request #13228 from LabNConsulting/chopps/json-via-yang
Igor Ryzhov [Fri, 7 Apr 2023 14:56:54 +0000 (17:56 +0300)]
Merge pull request #13228 from LabNConsulting/chopps/json-via-yang

Update ripd YANG operational state (ECMP routes)

14 months agotests: Check if RIP `allow-ecmp` command works correctly
Donatas Abraitis [Mon, 3 Apr 2023 11:07:41 +0000 (14:07 +0300)]
tests: Check if RIP `allow-ecmp` command works correctly

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoripd: implement new YANG operational state
Christian Hopps [Thu, 6 Apr 2023 22:23:31 +0000 (18:23 -0400)]
ripd: implement new YANG operational state

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoripd: yang: extend nexthops functionality in YANG model - skeleton
Christian Hopps [Thu, 6 Apr 2023 21:28:37 +0000 (17:28 -0400)]
ripd: yang: extend nexthops functionality in YANG model - skeleton

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoMerge pull request #13162 from donaldsharp/pass_by_value_no_no_no
Donatas Abraitis [Fri, 7 Apr 2023 07:19:09 +0000 (10:19 +0300)]
Merge pull request #13162 from donaldsharp/pass_by_value_no_no_no

*: Use a `struct prefix *p` instead of a `struct prefix` in functions

14 months agoMerge pull request #13222 from donaldsharp/limit_scope
Donatas Abraitis [Fri, 7 Apr 2023 07:14:54 +0000 (10:14 +0300)]
Merge pull request #13222 from donaldsharp/limit_scope

Limit scope

14 months agotests: don't warn with expected results
Christian Hopps [Fri, 7 Apr 2023 05:58:15 +0000 (05:58 +0000)]
tests: don't warn with expected results

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agotests: initialize parent test namespace too
Christian Hopps [Fri, 24 Mar 2023 22:02:16 +0000 (18:02 -0400)]
tests: initialize parent test namespace too

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agotests: cleanup infra
Christian Hopps [Fri, 24 Mar 2023 21:59:33 +0000 (17:59 -0400)]
tests: cleanup infra

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agotests: create 8 link, switch pairs, not 8 links on one switch
Christian Hopps [Fri, 24 Mar 2023 21:58:21 +0000 (17:58 -0400)]
tests: create 8 link, switch pairs, not 8 links on one switch

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agotests: don't flush ipv6 addresses
Christian Hopps [Fri, 24 Mar 2023 21:58:01 +0000 (17:58 -0400)]
tests: don't flush ipv6 addresses

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoyang: fix YANG lint
Christian Hopps [Thu, 6 Apr 2023 10:39:06 +0000 (06:39 -0400)]
yang: fix YANG lint

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months ago*: Use a `struct prefix *p` instead of a `struct prefix` in functions
Donald Sharp [Thu, 30 Mar 2023 19:48:53 +0000 (15:48 -0400)]
*: Use a `struct prefix *p` instead of a `struct prefix` in functions

When passing a prefix into a function let's pass by address instead
of pass by value.  Let's save our stack space.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Treat withdraw variable as a bool
Donald Sharp [Wed, 5 Apr 2023 19:25:57 +0000 (15:25 -0400)]
bgpd: Treat withdraw variable as a bool

Used as a bool, treated as a bool.  Make it a bool

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoospfd: support configuration of socket buffer sizes
Mark Stapp [Thu, 6 Apr 2023 17:40:23 +0000 (13:40 -0400)]
ospfd: support configuration of socket buffer sizes

Add configurable socket send and receive buffer sizes,
configured at the instance level.

Signed-off-by: Mark Stapp <mjs@labn.net>
14 months agoripd: Fix memory leak for ripd's route-map
anlan_cs [Thu, 6 Apr 2023 13:17:05 +0000 (21:17 +0800)]
ripd: Fix memory leak for ripd's route-map

When cleaning `ripd`, it should free `ctx->name` of `struct if_rmap_ctx`,
not `ctx` itself.  Otherwise, it will lead to memory leak.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agobgpd: Limit flowspec to no attribute means a implicit withdrawal
Donald Sharp [Wed, 5 Apr 2023 18:57:05 +0000 (14:57 -0400)]
bgpd: Limit flowspec to no attribute means a implicit withdrawal

All other parsing functions done from bgp_nlri_parse() assume
no attributes == an implicit withdrawal.  Let's move
bgp_nlri_parse_flowspec() into the same alignment.

Reported-by: Matteo Memelli <mmemelli@amazon.it>
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Conform bgp_packet.h with coding standards
Donald Sharp [Wed, 5 Apr 2023 18:51:47 +0000 (14:51 -0400)]
bgpd: Conform bgp_packet.h with coding standards

FRR's standards state that function declarations should
have actual variable names for parameters passed in.
Let's make this so for bgp_packet.h

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13214 from chiragshah6/fdev2
Donatas Abraitis [Thu, 6 Apr 2023 09:48:52 +0000 (12:48 +0300)]
Merge pull request #13214 from chiragshah6/fdev2

zebra:return empty dict in json when evpn is disabled

14 months agoMerge pull request #13220 from mjstapp/fix_zebra_gr_client
Jafar Al-Gharaibeh [Thu, 6 Apr 2023 03:53:00 +0000 (22:53 -0500)]
Merge pull request #13220 from mjstapp/fix_zebra_gr_client

zebra: null-check client pointer during GR processing

14 months agozebra: null-check client pointer during GR processing
Mark Stapp [Wed, 5 Apr 2023 16:30:52 +0000 (12:30 -0400)]
zebra: null-check client pointer during GR processing

Add a null check.

Signed-off-by: Mark Stapp <mjs@labn.net>
14 months agoMerge pull request #13194 from Keelan10/sharpd-memory-leak
Donatas Abraitis [Wed, 5 Apr 2023 07:05:49 +0000 (10:05 +0300)]
Merge pull request #13194 from Keelan10/sharpd-memory-leak

[WIP] sharpd: fix leak

14 months agozebra:return empty dict when evpn is disabled
Sindhu Parvathi Gopinathan [Tue, 4 Apr 2023 12:38:28 +0000 (05:38 -0700)]
zebra:return empty dict when evpn is disabled

"show evpn json" returns nothing when evpn is disabled.

Code has been fixed to return {} when evpn is disabled or no entry
available.

Before Fix:-
```
cumulus@r2:mgmt:~$ sudo vtysh -c "show evpn json"
cumulus@r2:mgmt:~$
```

After Fix:-
```
cumulus@r1:mgmt:~$ sudo vtysh -c "show evpn json"
{
}
cumulus@r1:mgmt:~$
```

Ticket:#3417955

Issue:3417955

Testing: UT done

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
14 months agoMerge pull request #13145 from donaldsharp/do_delete
Jafar Al-Gharaibeh [Wed, 5 Apr 2023 02:10:54 +0000 (21:10 -0500)]
Merge pull request #13145 from donaldsharp/do_delete

Improve and fix zebra GR

14 months agozebra: fix race during shutdown
Mark Stapp [Tue, 4 Apr 2023 20:37:38 +0000 (16:37 -0400)]
zebra: fix race during shutdown

During shutdown, the main pthread stops the dplane pthread
before exiting. Don't try to clean up any events scheduled
to the dplane pthread at that point - just let the thread
exit and clean up.

Signed-off-by: Mark Stapp <mjs@labn.net>
14 months agoMerge pull request #13206 from opensourcerouting/fix/docker_build_alpine_protobuf
Jafar Al-Gharaibeh [Tue, 4 Apr 2023 18:36:28 +0000 (13:36 -0500)]
Merge pull request #13206 from opensourcerouting/fix/docker_build_alpine_protobuf

docker: Install missing dependencies for Alpine build

14 months agoMerge pull request #13200 from kuldeepkash/socat_cleanup
Jafar Al-Gharaibeh [Tue, 4 Apr 2023 18:36:03 +0000 (13:36 -0500)]
Merge pull request #13200 from kuldeepkash/socat_cleanup

tests: [topojson] multicast pimv6 socat cleanup

14 months agoMerge pull request #13209 from LabNConsulting/chopps/log-redux
Jafar Al-Gharaibeh [Tue, 4 Apr 2023 18:34:51 +0000 (13:34 -0500)]
Merge pull request #13209 from LabNConsulting/chopps/log-redux

tests: lower logging level on some infra logs

14 months agodoc: Add CLI documentation for new log-pdu-drops config
Isabella de Leon [Fri, 31 Mar 2023 00:16:21 +0000 (17:16 -0700)]
doc: Add CLI documentation for new log-pdu-drops config

Update isisd docs with log-pdu-drops config.

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
14 months agoisisd: Add log-pdu-drops log functionality
Isabella de Leon [Fri, 31 Mar 2023 00:00:39 +0000 (17:00 -0700)]
isisd: Add log-pdu-drops log functionality

If log-pdu-drops is configured, create an INFO log that displays the PDU type and drop counts when a PDU drop is detected.

Example logs:

2023/03/30 23:54:59.749 ISIS: [VAS9N-1JNNR] PDU drop detected of type: P2P IIH. 1 Total Drops; 0 L1 IIH drops;  0 L2 IIH drops; 1 P2P IIH drops; 0 L1 LSP drops; 0 L2 LSP drops; 0 FS LSP drops; 0 L1 CSNP drops; 0 L2 CSNP drops; 0 L1 PSNP drops; 0 L2 PSNP drops.
2023/03/30 23:54:59.848 ISIS: [VAS9N-1JNNR] PDU drop detected of type: P2P IIH. 2 Total Drops; 0 L1 IIH drops;  0 L2 IIH drops; 2 P2P IIH drops; 0 L1 LSP drops; 0 L2 LSP drops; 0 FS LSP drops; 0 L1 CSNP drops; 0 L2 CSNP drops; 0 L1 PSNP drops; 0 L2 PSNP drops.

Code changes:
Add a new PDU counter function that increments the drop counter and runs the logging functionality if log-pdu-drops is configured.

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
14 months agoisisd: Add log-pdu-drops CLI/YANG support
Isabella de Leon [Thu, 30 Mar 2023 23:25:02 +0000 (16:25 -0700)]
isisd: Add log-pdu-drops CLI/YANG support

New config functionality:

r1# conf
r1(config)# router isis 1
r1(config-router)# log-
  log-adjacency-changes  Log changes in adjacency state
  log-pdu-drops          Log any dropped PDUs
r1(config-router)# log-pdu-drops
r1(config-router)# end

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
14 months agoMerge pull request #13160 from chiragshah6/fdev2
Russ White [Tue, 4 Apr 2023 14:02:48 +0000 (10:02 -0400)]
Merge pull request #13160 from chiragshah6/fdev2

ospfd:display correct DR-BDR router-id in nbr cmd

14 months agoMerge pull request #13192 from anlancs/fix/ripd-wrong-routemap
Russ White [Tue, 4 Apr 2023 13:50:02 +0000 (09:50 -0400)]
Merge pull request #13192 from anlancs/fix/ripd-wrong-routemap

ripd: Fix malformed route-map

14 months agoMerge pull request #13199 from pguibert6WIND/isis_ipv4_linklocal
Russ White [Tue, 4 Apr 2023 13:48:11 +0000 (09:48 -0400)]
Merge pull request #13199 from pguibert6WIND/isis_ipv4_linklocal

isisd: consider link local ipv4 addresses as valid

14 months agoMerge pull request #13131 from LabNConsulting/chopps/no-startup-file
Jafar Al-Gharaibeh [Tue, 4 Apr 2023 13:42:04 +0000 (08:42 -0500)]
Merge pull request #13131 from LabNConsulting/chopps/no-startup-file

mgmtd: remove startup config feature for now

14 months agoMerge pull request #12969 from opensourcerouting/ospfd-nssa
Russ White [Tue, 4 Apr 2023 13:38:55 +0000 (09:38 -0400)]
Merge pull request #12969 from opensourcerouting/ospfd-nssa

ospfd: implement NSSA default routes & ranges

14 months agoMerge pull request #12837 from donaldsharp/unlikely_routemap
Russ White [Tue, 4 Apr 2023 12:20:25 +0000 (08:20 -0400)]
Merge pull request #12837 from donaldsharp/unlikely_routemap

Unlikely routemap

14 months agotests: lower logging level on some infra logs
Christian Hopps [Tue, 4 Apr 2023 10:21:14 +0000 (10:21 +0000)]
tests: lower logging level on some infra logs

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agodocker: Install missing dependencies for Alpine build
Donatas Abraitis [Tue, 4 Apr 2023 08:18:30 +0000 (11:18 +0300)]
docker: Install missing dependencies for Alpine build

protobuf-c-compiler
protobuf-c-dev

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agoMerge pull request #13198 from mxyns/bmp-fix-peerup-port
Donatas Abraitis [Tue, 4 Apr 2023 07:49:09 +0000 (10:49 +0300)]
Merge pull request #13198 from mxyns/bmp-fix-peerup-port

bgpd: bmp fix peer-up ports byte order

14 months agoMerge pull request #13181 from taspelund/route_origin_extcom_parse_fix
Donatas Abraitis [Tue, 4 Apr 2023 07:24:44 +0000 (10:24 +0300)]
Merge pull request #13181 from taspelund/route_origin_extcom_parse_fix

bgpd: fix ecommunity parsing for AS4

14 months agoisisd: consider link local ipv4 addresses as valid
Philippe Guibert [Mon, 3 Apr 2023 16:06:48 +0000 (18:06 +0200)]
isisd: consider link local ipv4 addresses as valid

It is not possible to create an adjacency by using interface
addresses within the `169.254.0.0/24` pool.

When forging the IIH messages, the interface addresses from
that pool are not appended:

> Neither IPv4 nor IPv6 considered usable. Ignoring IIH

Using this network pool is possible on other IS-IS
implementations. Let us authorize to use such network
addresses.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agoMerge pull request #13191 from opensourcerouting/fix/add_missing_rfc9384
Jafar Al-Gharaibeh [Tue, 4 Apr 2023 04:16:08 +0000 (23:16 -0500)]
Merge pull request #13191 from opensourcerouting/fix/add_missing_rfc9384

doc: Add missing rfc9384 to BGP supported RFC list

14 months agotests: [topojson] multicast pimv6 socat cleanup
Kuldeep Kashyap [Tue, 4 Apr 2023 02:33:21 +0000 (08:03 +0530)]
tests: [topojson] multicast pimv6 socat cleanup

For multicast pimv6 join and traffic, socat is
used, which was not cleaned up post tests executions,
enhanced kill_socat() API to kill socat join and
traffic specific PIDs during teardown module.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
14 months agotests: add test to validate 4-byte ecomm parsing
Trey Aspelund [Mon, 3 Apr 2023 21:03:40 +0000 (21:03 +0000)]
tests: add test to validate 4-byte ecomm parsing

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
14 months agobgpd: fix ecommunity parsing for AS4
Trey Aspelund [Fri, 31 Mar 2023 21:46:21 +0000 (17:46 -0400)]
bgpd: fix ecommunity parsing for AS4

The parser for extended communities was incorrectly disallowing an
operator from configuring "Route Origin" extended communities
(e.g. RD/RT/SoO) with a 4-byte value matching BGP_AS4_MAX (UINT32_MAX)
and allowed the user to overflow UINT32_MAX. This updates the parser to
read the value as a uint64_t so that we can do proper checks on the
upper bounds (> BGP_AS4_MAX || errno).

before:
```
TORC11(config-router-af)# neighbor uplink-1 soo 4294967296:65
TORC11(config-router-af)# do sh run | include soo
  neighbor uplink-1 soo 0:65
TORC11(config-router-af)# neighbor uplink-1 soo 4294967295:65
% Malformed SoO extended community
TORC11(config-router-af)#
```

after:
```
TORC11(config-router-af)# neighbor uplink-1 soo 4294967296:65
% Malformed SoO extended community
TORC11(config-router-af)# neighbor uplink-1 soo 4294967295:65
TORC11(config-router-af)# do sh run | include soo
  neighbor uplink-1 soo 4294967295:65
TORC11(config-router-af)#
```

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
14 months agobgpd: bmp fix peer-up ports byte order
Maxence Younsi [Mon, 3 Apr 2023 15:19:32 +0000 (17:19 +0200)]
bgpd: bmp fix peer-up ports byte order

added htons to ports in the peer-up message to fix byte order

Signed-off-by: Maxence Younsi <mx.yns@outlook.fr>
14 months agosharpd: Fix sharpd memory leak
Keelan10 [Mon, 3 Apr 2023 07:36:33 +0000 (11:36 +0400)]
sharpd: Fix sharpd memory leak

Free path

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
14 months agoripd: Fix malformed route-map
anlan_cs [Sun, 2 Apr 2023 00:33:25 +0000 (08:33 +0800)]
ripd: Fix malformed route-map

Currently the process of the `route-map` configuration for `per-vrf-rip`
is wrong.

There are two problems:
1. `ctx->name` for `if_rmap_ctx`  is not initialized in `if_rmap_ctx_create()`.
2.  The global `if_rmap_ctx_list` is wrongly used for `per-vrf-rip`.

So, two changes for it:
1. Correctly initializes `ctx->name`.
2. Use specific `if_rmap_ctx` for `per-vrf-rip`, not global one.

Note, this related implementation for `route-map` is only for `ripd`.

Before:
```
anlan(config)# route rip vrf vrf1
anlan(config-router)# route-map aa in lan
anlan(config-router)# do show run
!
router rip
 route-map aa in lan
exit
!
```

After:
```
anlan(config)# route rip vrf vrf1
anlan(config-router)# route-map aa in lan
anlan(config-router)# do show run
!
router rip vrf vrf1
 route-map aa in lan
exit
!
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agoospfd:display correct DR-BDR router-id in nbr cmd
Sindhu Parvathi Gopinathan [Thu, 23 Mar 2023 11:30:55 +0000 (04:30 -0700)]
ospfd:display correct DR-BDR router-id in nbr cmd

ospf neighbor DR and BDR router-id wrongly displays with interface
ip-address instead of router-id.

It is fixed to display the correct DR & BDR router-id  for
JSON and CLI commands.

Commands:
```
show ip ospf vrf <vrf-name> neighbor detail json
show ip ospf vrf <vrf-name> neighbor detail
```

Before Fix:-
```
r1# show ip ospf vrf default neighbor  swp1 detail
 Neighbor 0.0.0.17, interface address 11.0.0.1
    In the area 0.0.0.0 via interface swp1 local interface IP 11.0.0.2
    Neighbor priority is 1, State is Full, Role is DR, 6 state changes
    Most recent state change statistics:
      Progressive change 1d15h05m ago
    DR is 11.0.0.1, BDR is 11.0.0.2 ======> DR and BDR shows the intef &
local intf ipaddress
    Options 2 *|-|-|-|-|-|E|-
    Dead timer due in 35.178s
    Database Summary List 0
    Link State Request List 0
    Link State Retransmission List 0
    Thread Inactivity Timer on
    Thread Database Description Retransmision off
    Thread Link State Request Retransmission on
    Thread Link State Update Retransmission on

r1#

r1# show ip ospf vrf default neighbor  swp1 detail json
{
  "0.0.0.17":[
    {
      "ifaceAddress":"11.0.0.1",
      "areaId":"0.0.0.0",
      "ifaceName":"swp1",
      "localIfaceAddress":"11.0.0.2",
      "nbrPriority":1,
      "nbrState":"Full",
      "role":"DR",
      "stateChangeCounter":6,
      "lastPrgrsvChangeMsec":141141533,
      "routerDesignatedId":"11.0.0.1", =============> interface ip
instead of DR rotuer-id
      "routerDesignatedBackupId":"11.0.0.2", =======> lo-interface ip
instead of BDR rotuer-id
      "optionsCounter":2,
      "optionsList":"*|-|-|-|-|-|E|-",
      "routerDeadIntervalTimerDueMsec":32272,
      "databaseSummaryListCounter":0,
      "linkStateRequestListCounter":0,
      "linkStateRetransmissionListCounter":0,
      "threadInactivityTimer":"on",
      "threadLinkStateRequestRetransmission":"on",
      "threadLinkStateUpdateRetransmission":"on"
    }
  ]
}
r1#
```

After Fix:-
```
r1# show ip ospf vrf default neighbor detail json
{
  "default":{
    "vrfName":"default",
    "vrfId":0,
    "neighbors":{
      "0.0.0.17":[
        {
          "ifaceAddress":"11.0.0.1",
          "areaId":"0.0.0.0",
          "ifaceName":"swp1",
          "localIfaceAddress":"11.0.0.2",
          "nbrPriority":1,
          "nbrState":"Full",
          "role":"DR",
          "stateChangeCounter":6,
          "lastPrgrsvChangeMsec":4531505,
          "routerDesignatedId":"0.0.0.17", =====> DR Router-Id
          "routerDesignatedBackupId":"0.0.0.12", =====> BDR Router-Id
          "optionsCounter":2,
          "optionsList":"*|-|-|-|-|-|E|-",
          "routerDeadIntervalTimerDueMsec":38495,
          "databaseSummaryListCounter":0,
          "linkStateRequestListCounter":0,
          "linkStateRetransmissionListCounter":0,
          "threadInactivityTimer":"on",
          "threadLinkStateRequestRetransmission":"on",
          "threadLinkStateUpdateRetransmission":"on"
        }
      ],
      "0.0.0.13":[
        {
          "ifaceAddress":"11.0.2.2",
          "areaId":"0.0.0.0",
          "ifaceName":"swp2",
          "localIfaceAddress":"11.0.2.1",
          "nbrPriority":1,
          "nbrState":"Full",
          "role":"DR",
          "stateChangeCounter":6,
          "lastPrgrsvChangeMsec":4522182,
          "routerDesignatedId":"0.0.0.13", =====> DR Router-Id
          "routerDesignatedBackupId":"0.0.0.12", =====> BDR Router-Id
          "optionsCounter":2,
          "optionsList":"*|-|-|-|-|-|E|-",
          "routerDeadIntervalTimerDueMsec":37840,
          "databaseSummaryListCounter":0,
          "linkStateRequestListCounter":0,
          "linkStateRetransmissionListCounter":0,
          "threadInactivityTimer":"on",
          "threadLinkStateRequestRetransmission":"on",
          "threadLinkStateUpdateRetransmission":"on"
        }
      ],
      "0.0.0.14":[
        {
          "ifaceAddress":"11.0.3.2",
          "areaId":"0.0.0.0",
          "ifaceName":"swp3",
          "localIfaceAddress":"11.0.3.1",
          "nbrPriority":1,
          "nbrState":"Full",
          "role":"DR",
          "stateChangeCounter":6,
          "lastPrgrsvChangeMsec":4522182,
          "routerDesignatedId":"0.0.0.14",  =====> DR Router-Id
          "routerDesignatedBackupId":"0.0.0.12", =====> BDR Router-Id
          "optionsCounter":2,
          "optionsList":"*|-|-|-|-|-|E|-",
          "routerDeadIntervalTimerDueMsec":37840,
          "databaseSummaryListCounter":0,
          "linkStateRequestListCounter":0,
          "linkStateRetransmissionListCounter":0,
          "threadInactivityTimer":"on",
          "threadLinkStateRequestRetransmission":"on",
          "threadLinkStateUpdateRetransmission":"on"
        }
      ]
    }
  }
}
r1#

r1# show ip ospf vrf default neighbor swp1 detail
 Neighbor 0.0.0.17, interface address 11.0.0.1
    In the area 0.0.0.0 via interface swp1 local interface IP 11.0.0.2
    Neighbor priority is 1, State is Full, Role is DR, 6 state changes
    Most recent state change statistics:
      Progressive change 1h18m11s ago
    DR is  0.0.0.17, BDR is 0.0.0.12  =======> correct DR and BDR
router-id
    Options 2 *|-|-|-|-|-|E|-
    Dead timer due in 38.339s
    Database Summary List 0
    Link State Request List 0
    Link State Retransmission List 0
    Thread Inactivity Timer on
    Thread Database Description Retransmision off
    Thread Link State Request Retransmission on
    Thread Link State Update Retransmission on

r1#

r1# show ip ospf vrf default neighbor swp
swp1  swp2  swp3  swp4
r1# show ip ospf vrf default neighbor swp2 detail
 Neighbor 0.0.0.13, interface address 11.0.2.2
    In the area 0.0.0.0 via interface swp2 local interface IP 11.0.2.1
    Neighbor priority is 1, State is Full, Role is DR, 6 state changes
    Most recent state change statistics:
      Progressive change 12m02s ago
    DR is 0.0.0.13, BDR is 0.0.0.12 =======> correct DR and BDR
router-id
    Options 2 *|-|-|-|-|-|E|-
    Dead timer due in 37.136s
    Database Summary List 0
    Link State Request List 0
    Link State Retransmission List 0
    Thread Inactivity Timer on
    Thread Database Description Retransmision off
    Thread Link State Request Retransmission on
    Thread Link State Update Retransmission on

r1#
```

Ticket:#3395270

Issue:3395270

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
14 months agoMerge pull request #13182 from taspelund/add_bgp_json_comments
Donatas Abraitis [Sun, 2 Apr 2023 17:33:56 +0000 (20:33 +0300)]
Merge pull request #13182 from taspelund/add_bgp_json_comments

bgpd: add comments for 'json detail' show cmd code

14 months agoMerge pull request #13179 from donaldsharp/array_size
Christian Hopps [Sat, 1 Apr 2023 23:21:41 +0000 (08:21 +0900)]
Merge pull request #13179 from donaldsharp/array_size

isisd, zebra: Use array_size instead of ARRAY_SIZE

14 months agoMerge pull request #13175 from donaldsharp/msdp_topo1_memleak
Jafar Al-Gharaibeh [Sat, 1 Apr 2023 23:13:58 +0000 (18:13 -0500)]
Merge pull request #13175 from donaldsharp/msdp_topo1_memleak

zebra: Cleanup ctx leak on shutdown and turn off event

14 months agomgmtd: lib: read transitioned daemons split config files in mgmtd
Christian Hopps [Fri, 31 Mar 2023 16:34:49 +0000 (16:34 +0000)]
mgmtd: lib: read transitioned daemons split config files in mgmtd

When daemons transition to mgmtd they should stop reading their split config
files, and let mgmtd do that, otherwise things can get out of sync.

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agodoc: Add missing rfc9384 to BGP supported RFC list
Donatas Abraitis [Sat, 1 Apr 2023 18:56:37 +0000 (21:56 +0300)]
doc: Add missing rfc9384 to BGP supported RFC list

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agoMerge pull request #13171 from manojvn/13154_fix
Donald Sharp [Sat, 1 Apr 2023 13:18:10 +0000 (09:18 -0400)]
Merge pull request #13171 from manojvn/13154_fix

mgmtd: Fix for issue 13154.

14 months agobgpd: add comments for 'json detail' show cmd code
Trey Aspelund [Fri, 31 Mar 2023 22:34:48 +0000 (22:34 +0000)]
bgpd: add comments for 'json detail' show cmd code

The json structure changes used for 'json detail' show commands are not
very straightforward and might require code analysis to understand.
This addscommentary to the flow to explain the change in structure.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
14 months agotests: add OSPF NSSA topotest
Renato Westphal [Thu, 2 Mar 2023 22:38:52 +0000 (19:38 -0300)]
tests: add OSPF NSSA topotest

At this point OSPF NSSA deserves a dedicated topotest given the
latest nerd knobs that were added :)

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: add support for NSSA Type-7 address ranges
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: add support for NSSA Type-7 address ranges

Implement NSSA address ranges as specified by RFC 3101:

   NSSA border routers may be configured with Type-7 address ranges.
   Each Type-7 address range is defined as an [address,mask] pair.  Many
   separate Type-7 networks may fall into a single Type-7 address range,
   just as a subnetted network is composed of many separate subnets.
   NSSA border routers may aggregate Type-7 routes by advertising a
   single Type-5 LSA for each Type-7 address range.  The Type-5 LSA
   resulting from a Type-7 address range match will be distributed to
   all Type-5 capable areas.

Syntax:
  area A.B.C.D nssa range A.B.C.D/M [<not-advertise|cost (0-16777215)>]

Example:
  router ospf
   router-id 1.1.1.1
   area 1 nssa
   area 1 nssa range 172.16.0.0/16
   area 1 nssa range 10.1.0.0/16
  !

Since regular area ranges and NSSA ranges have a lot in common,
this commit reuses the existing infrastructure for area ranges as
much as possible to avoid code duplication.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: do not install blackhole routes for ranges with "not-advertise"
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: do not install blackhole routes for ranges with "not-advertise"

Adding blackhole routes is unnecessary in that case.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: refactor range commands
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: refactor range commands

* Update the "range" helpers to accept an area pointer instead of
  an area ID;
* Always call ospf_area_display_format_set() after every "range"
  command to ensure consistency.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: use the ospf_area_range_active() helper function more consistently
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: use the ospf_area_range_active() helper function more consistently

A small change to improve code readability.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: remove duplicated code
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: remove duplicated code

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: implement Type-7 default routes for NSSA areas
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: implement Type-7 default routes for NSSA areas

Add the "default-information-originate" option to the "area X nssa"
command. That option allows the origination of Type-7 default routes
on NSSA ABRs and ASBRs.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoospfd: refactor the "area nssa" command using DEFPY
Renato Westphal [Wed, 8 Mar 2023 00:13:53 +0000 (21:13 -0300)]
ospfd: refactor the "area nssa" command using DEFPY

Combine all variation of the "area nssa" command into a single
DEFPY to improve code maintainability.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
14 months agoMerge pull request #12454 from donaldsharp/bgp_getc
Donatas Abraitis [Fri, 31 Mar 2023 21:23:12 +0000 (00:23 +0300)]
Merge pull request #12454 from donaldsharp/bgp_getc

bgpd: Ensure stream received has enough data