diff options
| author | Russ White <russ@riw.us> | 2023-07-11 11:47:32 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-11 11:47:32 -0400 | 
| commit | 6e89a5db228c75d83f9be7b3606b91257e0307d3 (patch) | |
| tree | 3d8e0dc9474ea768c653b4d7697cbf1fe5c07112 /ospfd/ospf_interface.c | |
| parent | c8971388a9013ffb65b4de20fd1553f6e1e94311 (diff) | |
| parent | e72549c8f6f7b25738f8d4c913db025a7906558e (diff) | |
Merge pull request #13691 from LabNConsulting/aceelindem/ospf-opaque-interface-disable
ospfd: Configurable interface-level 'capability opaque' support
Diffstat (limited to 'ospfd/ospf_interface.c')
| -rw-r--r-- | ospfd/ospf_interface.c | 32 | 
1 files changed, 19 insertions, 13 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index 840756c05c..72de198116 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -548,6 +548,7 @@ static struct ospf_if_params *ospf_new_if_params(void)  	UNSET_IF_PARAM(oip, auth_crypt);  	UNSET_IF_PARAM(oip, auth_type);  	UNSET_IF_PARAM(oip, if_area); +	UNSET_IF_PARAM(oip, opaque_capable);  	oip->auth_crypt = list_new(); @@ -556,6 +557,7 @@ static struct ospf_if_params *ospf_new_if_params(void)  	oip->ptp_dmvpn = 0;  	oip->p2mp_delay_reflood = OSPF_P2MP_DELAY_REFLOOD_DEFAULT; +	oip->opaque_capable = OSPF_OPAQUE_CAPABLE_DEFAULT;  	return oip;  } @@ -585,19 +587,20 @@ void ospf_free_if_params(struct interface *ifp, struct in_addr addr)  	oip = rn->info;  	route_unlock_node(rn); -	if (!OSPF_IF_PARAM_CONFIGURED(oip, output_cost_cmd) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, transmit_delay) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, retransmit_interval) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, passive_interface) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, v_hello) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, fast_hello) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, v_wait) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, priority) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, type) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, auth_simple) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, auth_type) -	    && !OSPF_IF_PARAM_CONFIGURED(oip, if_area) -	    && listcount(oip->auth_crypt) == 0) { +	if (!OSPF_IF_PARAM_CONFIGURED(oip, output_cost_cmd) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, transmit_delay) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, retransmit_interval) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, passive_interface) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, v_hello) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, fast_hello) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, v_wait) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, priority) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, type) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, auth_simple) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, auth_type) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, if_area) && +	    !OSPF_IF_PARAM_CONFIGURED(oip, opaque_capable) && +	    listcount(oip->auth_crypt) == 0) {  		ospf_del_if_params(ifp, oip);  		rn->info = NULL;  		route_unlock_node(rn); @@ -703,6 +706,9 @@ int ospf_if_new_hook(struct interface *ifp)  	SET_IF_PARAM(IF_DEF_PARAMS(ifp), auth_type);  	IF_DEF_PARAMS(ifp)->auth_type = OSPF_AUTH_NOTSET; +	SET_IF_PARAM(IF_DEF_PARAMS(ifp), opaque_capable); +	IF_DEF_PARAMS(ifp)->opaque_capable = OSPF_OPAQUE_CAPABLE_DEFAULT; +  	rc = ospf_opaque_new_if(ifp);  	return rc;  }  | 
