mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 12:44:55 +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_NO_FIB:
|
||||||
case BGP_OPT_MULTIPLE_INSTANCE:
|
case BGP_OPT_MULTIPLE_INSTANCE:
|
||||||
case BGP_OPT_CONFIG_CISCO:
|
case BGP_OPT_CONFIG_CISCO:
|
||||||
|
case BGP_OPT_NO_LISTEN:
|
||||||
SET_FLAG (bm->options, flag);
|
SET_FLAG (bm->options, flag);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -2064,7 +2065,8 @@ bgp_get (struct bgp **bgp_val, as_t *as, const char *name)
|
|||||||
*bgp_val = bgp;
|
*bgp_val = bgp;
|
||||||
|
|
||||||
/* Create BGP server socket, if first instance. */
|
/* 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)
|
if (bgp_socket (bm->port, bm->address) < 0)
|
||||||
return BGP_ERR_INVALID_VALUE;
|
return BGP_ERR_INVALID_VALUE;
|
||||||
|
@ -59,6 +59,7 @@ struct bgp_master
|
|||||||
#define BGP_OPT_NO_FIB (1 << 0)
|
#define BGP_OPT_NO_FIB (1 << 0)
|
||||||
#define BGP_OPT_MULTIPLE_INSTANCE (1 << 1)
|
#define BGP_OPT_MULTIPLE_INSTANCE (1 << 1)
|
||||||
#define BGP_OPT_CONFIG_CISCO (1 << 2)
|
#define BGP_OPT_CONFIG_CISCO (1 << 2)
|
||||||
|
#define BGP_OPT_NO_LISTEN (1 << 3)
|
||||||
};
|
};
|
||||||
|
|
||||||
/* BGP instance structure. */
|
/* BGP instance structure. */
|
||||||
|
Loading…
Reference in New Issue
Block a user