Index | Thread | Search

From:
Denis Fondras <denis@openbsd.org>
Subject:
Re: bgpd: bikescheds problem, enum names
To:
tech@openbsd.org
Date:
Mon, 27 Apr 2026 16:44:03 +0200

Download raw body.

Thread
Le Mon, Apr 27, 2026 at 04:40:57PM +0200, Claudio Jeker a écrit :
> I dislike directions and filter_actions as enum names since an enum
> can only be one thing. Either DIR_IN or DIR_OUT so using a plural there
> feels wrong.
> 

Makes sense, OK denis@

> Since I have some more changes in that area I decided to change this now.
> -- 
> :wq Claudio
> 
> Index: bgpd.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/bgpd.h,v
> diff -u -p -r1.538 bgpd.h
> --- bgpd.h	19 Mar 2026 12:44:22 -0000	1.538
> +++ bgpd.h	27 Apr 2026 14:33:14 -0000
> @@ -1057,13 +1057,13 @@ struct ctl_kroute_req {
>  	sa_family_t		af;
>  };
>  
> -enum filter_actions {
> +enum filter_action {
>  	ACTION_NONE,
>  	ACTION_ALLOW,
>  	ACTION_DENY
>  };
>  
> -enum directions {
> +enum direction {
>  	DIR_IN = 1,
>  	DIR_OUT
>  };
> @@ -1277,8 +1277,8 @@ struct filter_rule {
>  #define RDE_FILTER_SKIP_REMOTE_AS	2
>  #define RDE_FILTER_SKIP_COUNT		3
>  	struct filter_rule		*skip[RDE_FILTER_SKIP_COUNT];
> -	enum filter_actions		action;
> -	enum directions			dir;
> +	enum filter_action		action;
> +	enum direction			dir;
>  	uint8_t				quick;
>  };
>  
> Index: rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v
> diff -u -p -r1.691 rde.c
> --- rde.c	19 Mar 2026 12:44:23 -0000	1.691
> +++ rde.c	27 Apr 2026 14:34:07 -0000
> @@ -1980,7 +1980,7 @@ rde_update_update(struct rde_peer *peer,
>      struct filterstate *in, struct bgpd_addr *prefix, uint8_t prefixlen)
>  {
>  	struct filterstate	 state;
> -	enum filter_actions	 action;
> +	enum filter_action	 action;
>  	uint32_t		 path_id_tx;
>  	uint16_t		 i;
>  	uint8_t			 roa_state, aspa_state;
> @@ -4231,7 +4231,7 @@ rde_softreconfig_in(struct rib_entry *re
>  	struct pt_entry		*pt;
>  	struct rde_peer		*peer;
>  	struct rde_aspath	*asp;
> -	enum filter_actions	 action;
> +	enum filter_action	 action;
>  	struct bgpd_addr	 prefix;
>  	uint16_t		 i;
>  	uint8_t			 aspa_vstate;
> @@ -4374,7 +4374,7 @@ rde_rpki_softreload(struct rib_entry *re
>  	struct pt_entry		*pt;
>  	struct rde_peer		*peer;
>  	struct rde_aspath	*asp;
> -	enum filter_actions	 action;
> +	enum filter_action	 action;
>  	struct bgpd_addr	 prefix;
>  	uint8_t			 roa_vstate, aspa_vstate;
>  	uint16_t		 i;
> Index: rde.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde.h,v
> diff -u -p -r1.344 rde.h
> --- rde.h	17 Mar 2026 09:29:29 -0000	1.344
> +++ rde.h	27 Apr 2026 14:35:06 -0000
> @@ -568,10 +568,10 @@ int	rde_filter_skip_rule(struct rde_peer
>  int	rde_filter_equal(struct filter_head *, struct filter_head *);
>  struct rde_filter_set	*rde_filterset_imsg_recv(struct imsg *);
>  void	rde_filter_calc_skip_steps(struct filter_head *);
> -enum filter_actions rde_filter(struct filter_head *, struct rde_peer *,
> +enum filter_action rde_filter(struct filter_head *, struct rde_peer *,
>  	    struct rde_peer *, struct bgpd_addr *, uint8_t,
>  	    struct filterstate *);
> -enum filter_actions rde_filter_out(struct rde_filter *, struct rde_peer *,
> +enum filter_action rde_filter_out(struct rde_filter *, struct rde_peer *,
>  	    struct rde_peer *, struct bgpd_addr *, uint8_t,
>  	    struct filterstate *);
>  
> Index: rde_filter.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde_filter.c,v
> diff -u -p -r1.147 rde_filter.c
> --- rde_filter.c	17 Mar 2026 09:29:29 -0000	1.147
> +++ rde_filter.c	27 Apr 2026 14:34:44 -0000
> @@ -59,7 +59,7 @@ struct rde_filter_set {
>  struct rde_filter_rule {
>  	struct filter_match		 match;
>  	struct rde_filter_set		*rde_set;
> -	enum filter_actions		 action;
> +	enum filter_action		 action;
>  	uint8_t				 quick;
>  };
>  
> @@ -1092,13 +1092,13 @@ rde_filter_calc_skip_steps(struct filter
>  
>  }
>  
> -enum filter_actions
> +enum filter_action
>  rde_filter(struct filter_head *rules, struct rde_peer *peer,
>      struct rde_peer *from, struct bgpd_addr *prefix, uint8_t plen,
>      struct filterstate *state)
>  {
>  	struct filter_rule	*f;
> -	enum filter_actions	 action = ACTION_DENY; /* default deny */
> +	enum filter_action	 action = ACTION_DENY; /* default deny */
>  
>  	if (state->aspath.flags & F_ATTR_PARSE_ERR)
>  		/*
> @@ -1151,13 +1151,13 @@ rde_filter(struct filter_head *rules, st
>  	return (action);
>  }
>  
> -enum filter_actions
> +enum filter_action
>  rde_filter_out(struct rde_filter *rf, struct rde_peer *peer,
>      struct rde_peer *from, struct bgpd_addr *prefix, uint8_t plen,
>      struct filterstate *state)
>  {
>  	struct rde_filter_rule	*f;
> -	enum filter_actions	 action = ACTION_DENY; /* default deny */
> +	enum filter_action	 action = ACTION_DENY; /* default deny */
>  	size_t			 i;
>  
>  	if (state->aspath.flags & F_ATTR_PARSE_ERR)
> Index: session.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/session.c,v
> diff -u -p -r1.529 session.c
> --- session.c	19 Mar 2026 12:44:23 -0000	1.529
> +++ session.c	27 Apr 2026 14:35:29 -0000
> @@ -1119,7 +1119,7 @@ session_mrt_dump_state(struct peer *p)
>  
>  void
>  session_mrt_dump_bgp_msg(struct peer *p, struct ibuf *msg,
> -     enum msg_type msgtype, enum directions dir)
> +     enum msg_type msgtype, enum direction dir)
>  {
>  	struct mrt		*mrt;
>  
> Index: session.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/session.h,v
> diff -u -p -r1.194 session.h
> --- session.h	2 Mar 2026 12:08:30 -0000	1.194
> +++ session.h	27 Apr 2026 14:33:35 -0000
> @@ -342,7 +342,7 @@ void		 session_graceful_restart(struct p
>  void		 session_graceful_flush(struct peer *, uint8_t, const char *);
>  void		 session_mrt_dump_state(struct peer *);
>  void		 session_mrt_dump_bgp_msg(struct peer *, struct ibuf *,
> -		    enum msg_type, enum directions);
> +		    enum msg_type, enum direction);
>  int		 peer_matched(struct peer *, struct ctl_neighbor *);
>  int		 imsg_ctl_parent(struct imsg *);
>  int		 imsg_ctl_rde(struct imsg *);
>