Index | Thread | Search

From:
Vitaliy Makkoveev <otto@bsdbox.dev>
Subject:
Re: mbuf(9): Add missing fields and fix spacing
To:
Jan Klemkow <jan@openbsd.org>
Cc:
OpenBSD Tech <tech@openbsd.org>
Date:
Mon, 8 Jul 2024 20:36:44 +0300

Download raw body.

Thread
> On 8 Jul 2024, at 19:12, Jan Klemkow <jan@openbsd.org> wrote:
> 
> Hi,
> 
> I noticed some missing fields and flags in the mbuf manpage related to
> last changes we made in here [1].  While here, I also fixed the
> indentation as this commit [2].
> 
> ok?
> 

Sure.

> bye,
> Jan
> 
> [1]: https://github.com/openbsd/src/commit/c06845b1c3ca93e4e363133d3ad803fb7ba7a70b
> [2]: https://github.com/openbsd/src/commit/0215088dcfeeb0cfd8b5db1e4ee70f0905e18034
> 
> Index: share/man/man9/mbuf.9
> ===================================================================
> RCS file: /cvs/src/share/man/man9/mbuf.9,v
> diff -u -p -r1.125 mbuf.9
> --- share/man/man9/mbuf.9	4 Jul 2023 03:56:07 -0000	1.125
> +++ share/man/man9/mbuf.9	26 May 2024 20:12:26 -0000
> @@ -155,14 +155,14 @@
> #define mtod(m,t)       ((t)((m)->m_data))
> 
> struct m_hdr {
> -        struct  mbuf *mh_next;
> -        struct  mbuf *mh_nextpkt;
> -        caddr_t mh_data;
> -        u_int   mh_len;
> -        short   mh_type;
> -        u_short mh_flags;
> +	struct mbuf		*mh_next;
> +	struct mbuf		*mh_nextpkt;
> +	caddr_t			 mh_data;
> +	u_int			 mh_len;
> +	short			 mh_type;
> +	u_short			 mh_flags;
> #ifndef __LP64__
> -        u_int   mh_pad;
> +	u_int			 mh_pad;
> #endif
> };
> 
> @@ -171,48 +171,50 @@ struct pkthdr {
> 	SLIST_HEAD(, m_tag)	 ph_tags;
> 	int64_t			 ph_timestamp;
> 	int			 len;
> +	u_int			 ph_rtableid;
> +	u_int			 ph_ifidx;
> 	u_int16_t		 ph_tagsset;
> 	u_int16_t		 ph_flowid;
> 	u_int16_t		 csum_flags;
> 	u_int16_t		 ether_vtag;
> -	u_int			 ph_rtableid;
> -	u_int			 ph_ifidx;
> +	u_int16_t		 ph_mss;
> 	u_int8_t		 ph_loopcnt;
> +	u_int8_t		 ph_family;
> 	struct pkthdr_pf	 pf;
> };
> 
> struct pkthdr_pf {
> -	struct pf_state_key *statekey;
> -	struct inpcb *inp;
> -	u_int32_t qid;
> -	u_int16_t tag;
> -	u_int8_t  flags;
> -	u_int8_t  routed;
> -	u_int8_t  prio;
> -	u_int8_t  pad[3];
> +	struct pf_state_key	*statekey;
> +	struct inpcb		*inp;
> +	u_int32_t		 qid;
> +	u_int16_t		 tag;
> +	u_int8_t		 flags;
> +	u_int8_t		 routed;
> +	u_int8_t		 prio;
> +	u_int8_t		 pad[3];
> };
> 
> struct mbuf_ext {
> -	caddr_t ext_buf;
> -	void	*ext_arg;
> -	u_int	ext_free_fn;
> -	u_int   ext_size;
> -	struct mbuf *ext_nextref;
> -	struct mbuf *ext_prevref;
> +	caddr_t			 ext_buf;
> +	void			*ext_arg;
> +	u_int			 ext_free_fn;
> +	u_int			 ext_size;
> +	struct mbuf		*ext_nextref;
> +	struct mbuf		*ext_prevref;
> };
> 
> struct mbuf {
> -        struct  m_hdr m_hdr;
> -        union {
> -                struct {
> -                        struct  pkthdr MH_pkthdr;
> -                        union {
> -                                struct  mbuf_ext MH_ext;
> -                                char    MH_databuf[MHLEN];
> -                        } MH_dat;
> -                } MH;
> -                char    M_databuf[MLEN];
> -        } M_dat;
> +	struct m_hdr m_hdr;
> +	union {
> +		struct {
> +			struct pkthdr MH_pkthdr;
> +			union {
> +				struct mbuf_ext	MH_ext;
> +				char		MH_databuf[MHLEN];
> +			} MH_dat;
> +		} MH;
> +		char M_databuf[MLEN];
> +	} M_dat;
> };
> 
> #define m_next          m_hdr.mh_next
> @@ -382,6 +384,16 @@ ICMP/ICMPv6 checksum verified.
> ICMP/ICMPv6 checksum bad.
> .It Dv M_IPV6_DF_OUT
> Do not fragment IPv6 on output.
> +.It M_TIMESTAMP
> +.Fa m_pkthdr.ph_timestamp
> +is valid.
> +.It M_FLOWID
> +.Fa m_pkthdr.ph_flowid
> +is valid.
> +.It M_TCP_TSO
> +TCP Segmentation Offload needed and
> +.Fa m_pkthdr.ph_mss
> +is valid.
> .El
> .Pp
> The
>