diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-07-19 15:27:56 -0300 | 
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-07-19 15:27:56 -0300 | 
| commit | 375d157f0ec1a595a84a03f0a652c7614a9264c4 (patch) | |
| tree | a076c850af54ecd4996c82d349b71592455277de /lib/routemap_northbound.c | |
| parent | 55528234eae823d14b808527d90fa003cd424552 (diff) | |
lib,yang: merge cisco/zebra access list styles
Merge the cisco style access list with zebra's logic so we can mix both
types of rules while keeping the commands.
With this the cisco style limitation of having 'destination-*' only for
specific number ranges no longer exist for users of YANG/northbound (the
CLI still has this limitation).
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'lib/routemap_northbound.c')
| -rw-r--r-- | lib/routemap_northbound.c | 85 | 
1 files changed, 0 insertions, 85 deletions
diff --git a/lib/routemap_northbound.c b/lib/routemap_northbound.c index f500a6c408..967f3fd4d4 100644 --- a/lib/routemap_northbound.c +++ b/lib/routemap_northbound.c @@ -516,77 +516,6 @@ static int lib_route_map_entry_match_condition_interface_destroy(  }  /* - * XPath: /frr-route-map:lib/route-map/entry/match-condition/access-list-num - */ -static int lib_route_map_entry_match_condition_access_list_num_modify( -	struct nb_cb_modify_args *args) -{ -	struct routemap_hook_context *rhc; -	const char *acl; -	int condition, rv; - -	if (args->event != NB_EV_APPLY) -		return NB_OK; - -	/* Check for hook function. */ -	rv = CMD_SUCCESS; -	acl = yang_dnode_get_string(args->dnode, NULL); -	rhc = nb_running_get_entry(args->dnode, NULL, true); -	condition = yang_dnode_get_enum(args->dnode, "../condition"); -	switch (condition) { -	case 1: /* ipv4-address-list */ -		if (rmap_match_set_hook.match_ip_address == NULL) -			break; -		rhc->rhc_mhook = rmap_match_set_hook.no_match_ip_address; -		rhc->rhc_rule = "ip address"; -		rhc->rhc_event = RMAP_EVENT_FILTER_DELETED; -		rv = rmap_match_set_hook.match_ip_address( -			NULL, rhc->rhc_rmi, "ip address", acl, -			RMAP_EVENT_FILTER_ADDED); -		break; -	case 3: /* ipv4-next-hop-list */ -		if (rmap_match_set_hook.match_ip_next_hop == NULL) -			break; -		rhc->rhc_mhook = rmap_match_set_hook.no_match_ip_next_hop; -		rhc->rhc_rule = "ip next-hop"; -		rhc->rhc_event = RMAP_EVENT_FILTER_DELETED; -		rv = rmap_match_set_hook.match_ip_next_hop( -			NULL, rhc->rhc_rmi, "ip next-hop", acl, -			RMAP_EVENT_FILTER_ADDED); -		break; -	} -	if (rv != CMD_SUCCESS) { -		rhc->rhc_mhook = NULL; -		return NB_ERR_INCONSISTENCY; -	} - -	return NB_OK; -} - -static int lib_route_map_entry_match_condition_access_list_num_destroy( -	struct nb_cb_destroy_args *args) -{ -	return lib_route_map_entry_match_destroy(args); -} - -/* - * XPath: - * /frr-route-map:lib/route-map/entry/match-condition/access-list-num-extended - */ -static int lib_route_map_entry_match_condition_access_list_num_extended_modify( -	struct nb_cb_modify_args *args) -{ -	return lib_route_map_entry_match_condition_access_list_num_modify(args); -} - -static int lib_route_map_entry_match_condition_access_list_num_extended_destroy( -	struct nb_cb_destroy_args *args) -{ -	return lib_route_map_entry_match_condition_access_list_num_destroy( -		args); -} - -/*   * XPath: /frr-route-map:lib/route-map/entry/match-condition/list-name   */  static int lib_route_map_entry_match_condition_list_name_modify( @@ -1245,20 +1174,6 @@ const struct frr_yang_module_info frr_route_map_info = {  			}  		},  		{ -			.xpath = "/frr-route-map:lib/route-map/entry/match-condition/access-list-num", -			.cbs = { -				.modify = lib_route_map_entry_match_condition_access_list_num_modify, -				.destroy = lib_route_map_entry_match_condition_access_list_num_destroy, -			} -		}, -		{ -			.xpath = "/frr-route-map:lib/route-map/entry/match-condition/access-list-num-extended", -			.cbs = { -				.modify = lib_route_map_entry_match_condition_access_list_num_extended_modify, -				.destroy = lib_route_map_entry_match_condition_access_list_num_extended_destroy, -			} -		}, -		{  			.xpath = "/frr-route-map:lib/route-map/entry/match-condition/list-name",  			.cbs = {  				.modify = lib_route_map_entry_match_condition_list_name_modify,  | 
