mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 22:37:49 +00:00
bgpd: Add "no listen" socket option for the BGP master configuration
* bgpd.h: add a BGP_OPT_NO_LISTEN option for the master BGP configuration, to prevent any listen socket being created automatically. Allows code to be used outside of BGP daemon settings. * bgpd.c: (bgp_get) honour above the flag, suppress auto-creation of listen socket on first BGP instance if set. (bgp_option_set) whitelist BGP_OPT_NO_LISTEN
This commit is contained in:
parent
2fb2a45526
commit
cccbc01518
@ -82,6 +82,7 @@ bgp_option_set (int flag)
|
||||
case BGP_OPT_NO_FIB:
|
||||
case BGP_OPT_MULTIPLE_INSTANCE:
|
||||
case BGP_OPT_CONFIG_CISCO:
|
||||
case BGP_OPT_NO_LISTEN:
|
||||
SET_FLAG (bm->options, flag);
|
||||
break;
|
||||
default:
|
||||
@ -2064,7 +2065,8 @@ bgp_get (struct bgp **bgp_val, as_t *as, const char *name)
|
||||
*bgp_val = bgp;
|
||||
|
||||
/* Create BGP server socket, if first instance. */
|
||||
if (list_isempty(bm->bgp))
|
||||
if (list_isempty(bm->bgp)
|
||||
&& !bgp_option_check (BGP_OPT_NO_LISTEN))
|
||||
{
|
||||
if (bgp_socket (bm->port, bm->address) < 0)
|
||||
return BGP_ERR_INVALID_VALUE;
|
||||
|
@ -59,6 +59,7 @@ struct bgp_master
|
||||
#define BGP_OPT_NO_FIB (1 << 0)
|
||||
#define BGP_OPT_MULTIPLE_INSTANCE (1 << 1)
|
||||
#define BGP_OPT_CONFIG_CISCO (1 << 2)
|
||||
#define BGP_OPT_NO_LISTEN (1 << 3)
|
||||
};
|
||||
|
||||
/* BGP instance structure. */
|
||||
|
Loading…
Reference in New Issue
Block a user