Re: git: 5e248c23d995 - main - tcp: retain some CC signals outside of kernel scope

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Sat, 24 Feb 2024 20:38:06 UTC
On 2/24/24 12:02 PM, Richard Scheffenegger wrote:
> The branch main has been updated by rscheff:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=5e248c23d995a059d24f4784d5a256cddd42e557
> 
> commit 5e248c23d995a059d24f4784d5a256cddd42e557
> Author:     Richard Scheffenegger <rscheff@FreeBSD.org>
> AuthorDate: 2024-02-24 20:01:54 +0000
> Commit:     Richard Scheffenegger <rscheff@FreeBSD.org>
> CommitDate: 2024-02-24 20:01:54 +0000
> 
>      tcp: retain some CC signals outside of kernel scope
>      
>      Summary: fix build error after f74352fbcf15341accaf5a92240871f98323215d
>      
>      Reviewers: #transport!
>      
>      Subscribers: imp, melifaro, glebius
>      
>      Differential Revision: https://reviews.freebsd.org/D44066
> ---
>   sys/netinet/cc/cc.h | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/sys/netinet/cc/cc.h b/sys/netinet/cc/cc.h
> index 5b2cb58a24a0..aac0825e5fe1 100644
> --- a/sys/netinet/cc/cc.h
> +++ b/sys/netinet/cc/cc.h
> @@ -121,12 +121,15 @@ struct cc_var {
>   #define CCF_HYSTART_CAN_SH_CWND	0x0800  /* Can hystart when going CSS -> CA slam the cwnd */
>   #define CCF_HYSTART_CONS_SSTH	0x1000	/* Should hystart use the more conservative ssthresh */
>   
> +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */
>   typedef enum {
> +#if defined(_KERNEL) || defined(_WANT_TCPCB)
>   	/* ACK types passed to the ack_received() hook. */
>   	CC_ACK =	0x0001,	/* Regular in sequence ACK. */
>   	CC_DUPACK =	0x0002,	/* Duplicate ACK. */
>   	CC_PARTIALACK =	0x0004,	/* Not yet. */
>   	CC_SACK =	0x0008,	/* Not yet. */
> +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */
>   	/* Congestion signal types passed to the cong_signal() hook. */
>   	CC_ECN =	0x0100,	/* ECN marked packet received. */
>   	CC_RTO =	0x0200,	/* RTO fired. */
> @@ -138,7 +141,6 @@ typedef enum {
>   	 */
>   	CC_SIGPRIVMASK = 0xFF000000	/* Mask to check if sig is private. */
>   } ccsignal_t;
> -#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */

Is there a good reason to not just expose all of the enum values always?

-- 
John Baldwin