diff mbox

[PULL,trivial,2/5] slirp: remove mbuf(m_hdr, m_dat) indirection

Message ID 1374225073-12959-3-git-send-email-mjt@msgid.tls.msk.ru
State New
Headers show

Commit Message

Michael Tokarev July 19, 2013, 9:11 a.m. UTC
---
 slirp/mbuf.h     |   51 ++++++++++++++++++---------------------------------
 slirp/tcp_subr.c |   12 ++++++------
 2 files changed, 24 insertions(+), 39 deletions(-)

Comments

Andreas Färber July 24, 2013, 12:44 p.m. UTC | #1
Am 19.07.2013 11:11, schrieb Michael Tokarev:
> ---

NACK, this commit in the pull request is lacking Signed-off-bys!

The original patch (attachment in reply to "slirp: reorder include to
fix FreeBSD build failure") had a misspelled "Signed-off-By" from mjt.
Michael, can you please re-add that and submit a v2 pull?

Ed, maybe you want to turn your "I'm happy" into an Acked-by or
Tested-by while at it? ;)

Regards,
Andreas

>  slirp/mbuf.h     |   51 ++++++++++++++++++---------------------------------
>  slirp/tcp_subr.c |   12 ++++++------
>  2 files changed, 24 insertions(+), 39 deletions(-)
> 
> diff --git a/slirp/mbuf.h b/slirp/mbuf.h
> index 3f3ab09..b144f1c 100644
> --- a/slirp/mbuf.h
> +++ b/slirp/mbuf.h
> @@ -49,22 +49,6 @@
>   * free the m_ext.  This is inefficient memory-wise, but who cares.
>   */
>  
> -/* XXX should union some of these! */
> -/* header at beginning of each mbuf: */
> -struct m_hdr {
> -	struct	mbuf *mh_next;		/* Linked list of mbufs */
> -	struct	mbuf *mh_prev;
> -	struct	mbuf *mh_nextpkt;	/* Next packet in queue/record */
> -	struct	mbuf *mh_prevpkt; /* Flags aren't used in the output queue */
> -	int	mh_flags;	  /* Misc flags */
> -
> -	int	mh_size;		/* Size of data */
> -	struct	socket *mh_so;
> -
> -	caddr_t	mh_data;		/* Location of data */
> -	int	mh_len;			/* Amount of data in this mbuf */
> -};
> -
>  /*
>   * How much room is in the mbuf, from m_data to the end of the mbuf
>   */
> @@ -80,29 +64,30 @@ struct m_hdr {
>  #define M_TRAILINGSPACE M_FREEROOM
>  
>  struct mbuf {
> -	struct	m_hdr m_hdr;
> +	/* XXX should union some of these! */
> +	/* header at beginning of each mbuf: */
> +	struct	mbuf *m_next;		/* Linked list of mbufs */
> +	struct	mbuf *m_prev;
> +	struct	mbuf *m_nextpkt;	/* Next packet in queue/record */
> +	struct	mbuf *m_prevpkt;	/* Flags aren't used in the output queue */
> +	int	m_flags;		/* Misc flags */
> +
> +	int	m_size;			/* Size of data */
> +	struct	socket *m_so;
> +
> +	caddr_t	m_data;			/* Location of data */
> +	int	m_len;			/* Amount of data in this mbuf */
> +
>  	Slirp *slirp;
>  	bool	arp_requested;
>  	uint64_t expiration_date;
>  	/* start of dynamic buffer area, must be last element */
> -	union M_dat {
> -		char	m_dat_[1]; /* ANSI don't like 0 sized arrays */
> -		char	*m_ext_;
> -	} M_dat;
> +	union {
> +		char	m_dat[1]; /* ANSI don't like 0 sized arrays */
> +		char	*m_ext;
> +	};
>  };
>  
> -#define m_next		m_hdr.mh_next
> -#define m_prev		m_hdr.mh_prev
> -#define m_nextpkt	m_hdr.mh_nextpkt
> -#define m_prevpkt	m_hdr.mh_prevpkt
> -#define m_flags		m_hdr.mh_flags
> -#define	m_len		m_hdr.mh_len
> -#define	m_data		m_hdr.mh_data
> -#define m_size		m_hdr.mh_size
> -#define m_dat		M_dat.m_dat_
> -#define m_ext		M_dat.m_ext_
> -#define m_so		m_hdr.mh_so
> -
>  #define ifq_prev m_prev
>  #define ifq_next m_next
>  #define ifs_prev m_prevpkt
> diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
> index e98ce1a..043f28f 100644
> --- a/slirp/tcp_subr.c
> +++ b/slirp/tcp_subr.c
> @@ -647,7 +647,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +                        m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "ORT %d,%d,%d,%d,%d,%d\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  			return 1;
> @@ -680,7 +680,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -			m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +			m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  
> @@ -706,7 +706,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  		if (m->m_data[m->m_len-1] == '\0' && lport != 0 &&
>  		    (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
>  		                     htons(lport), SS_FACCEPTONCE)) != NULL)
> -                    m->m_len = snprintf(m->m_data, m->m_hdr.mh_size, "%d",
> +                    m->m_len = snprintf(m->m_data, m->m_size, "%d",
>                                          ntohs(so->so_fport)) + 1;
>  		return 1;
>  
> @@ -726,7 +726,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC CHAT chat %lu %u%c\n",
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), 1);
> @@ -737,7 +737,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC SEND %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
> @@ -748,7 +748,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC MOVE %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
>
Michael Tokarev July 24, 2013, 1:10 p.m. UTC | #2
24.07.2013 16:44, Andreas Färber wrote:
> Am 19.07.2013 11:11, schrieb Michael Tokarev:
>> ---
> 
> NACK, this commit in the pull request is lacking Signed-off-bys!
> 
> The original patch (attachment in reply to "slirp: reorder include to
> fix FreeBSD build failure") had a misspelled "Signed-off-By" from mjt.
> Michael, can you please re-add that and submit a v2 pull?

It has been applied some days ago, so it is too late to add a s-o-b
now.  Which is indeed missing, not intentionally.

Oh well.

/mjt
Ed Maste July 24, 2013, 1:22 p.m. UTC | #3
On 19 July 2013 05:11, Michael Tokarev <mjt@tls.msk.ru> wrote:
> ---
>  slirp/mbuf.h     |   51 ++++++++++++++++++---------------------------------
>  slirp/tcp_subr.c |   12 ++++++------
>  2 files changed, 24 insertions(+), 39 deletions(-)

Tested-by: Ed Maste <emaste@freebsd.org>
diff mbox

Patch

diff --git a/slirp/mbuf.h b/slirp/mbuf.h
index 3f3ab09..b144f1c 100644
--- a/slirp/mbuf.h
+++ b/slirp/mbuf.h
@@ -49,22 +49,6 @@ 
  * free the m_ext.  This is inefficient memory-wise, but who cares.
  */
 
-/* XXX should union some of these! */
-/* header at beginning of each mbuf: */
-struct m_hdr {
-	struct	mbuf *mh_next;		/* Linked list of mbufs */
-	struct	mbuf *mh_prev;
-	struct	mbuf *mh_nextpkt;	/* Next packet in queue/record */
-	struct	mbuf *mh_prevpkt; /* Flags aren't used in the output queue */
-	int	mh_flags;	  /* Misc flags */
-
-	int	mh_size;		/* Size of data */
-	struct	socket *mh_so;
-
-	caddr_t	mh_data;		/* Location of data */
-	int	mh_len;			/* Amount of data in this mbuf */
-};
-
 /*
  * How much room is in the mbuf, from m_data to the end of the mbuf
  */
@@ -80,29 +64,30 @@  struct m_hdr {
 #define M_TRAILINGSPACE M_FREEROOM
 
 struct mbuf {
-	struct	m_hdr m_hdr;
+	/* XXX should union some of these! */
+	/* header at beginning of each mbuf: */
+	struct	mbuf *m_next;		/* Linked list of mbufs */
+	struct	mbuf *m_prev;
+	struct	mbuf *m_nextpkt;	/* Next packet in queue/record */
+	struct	mbuf *m_prevpkt;	/* Flags aren't used in the output queue */
+	int	m_flags;		/* Misc flags */
+
+	int	m_size;			/* Size of data */
+	struct	socket *m_so;
+
+	caddr_t	m_data;			/* Location of data */
+	int	m_len;			/* Amount of data in this mbuf */
+
 	Slirp *slirp;
 	bool	arp_requested;
 	uint64_t expiration_date;
 	/* start of dynamic buffer area, must be last element */
-	union M_dat {
-		char	m_dat_[1]; /* ANSI don't like 0 sized arrays */
-		char	*m_ext_;
-	} M_dat;
+	union {
+		char	m_dat[1]; /* ANSI don't like 0 sized arrays */
+		char	*m_ext;
+	};
 };
 
-#define m_next		m_hdr.mh_next
-#define m_prev		m_hdr.mh_prev
-#define m_nextpkt	m_hdr.mh_nextpkt
-#define m_prevpkt	m_hdr.mh_prevpkt
-#define m_flags		m_hdr.mh_flags
-#define	m_len		m_hdr.mh_len
-#define	m_data		m_hdr.mh_data
-#define m_size		m_hdr.mh_size
-#define m_dat		M_dat.m_dat_
-#define m_ext		M_dat.m_ext_
-#define m_so		m_hdr.mh_so
-
 #define ifq_prev m_prev
 #define ifq_next m_next
 #define ifs_prev m_prevpkt
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index e98ce1a..043f28f 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -647,7 +647,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 			n4 =  (laddr & 0xff);
 
 			m->m_len = bptr - m->m_data; /* Adjust length */
-                        m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
+                        m->m_len += snprintf(bptr, m->m_size - m->m_len,
                                              "ORT %d,%d,%d,%d,%d,%d\r\n%s",
                                              n1, n2, n3, n4, n5, n6, x==7?buff:"");
 			return 1;
@@ -680,7 +680,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 			n4 =  (laddr & 0xff);
 
 			m->m_len = bptr - m->m_data; /* Adjust length */
-			m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
+			m->m_len += snprintf(bptr, m->m_size - m->m_len,
                                              "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
                                              n1, n2, n3, n4, n5, n6, x==7?buff:"");
 
@@ -706,7 +706,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 		if (m->m_data[m->m_len-1] == '\0' && lport != 0 &&
 		    (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
 		                     htons(lport), SS_FACCEPTONCE)) != NULL)
-                    m->m_len = snprintf(m->m_data, m->m_hdr.mh_size, "%d",
+                    m->m_len = snprintf(m->m_data, m->m_size, "%d",
                                         ntohs(so->so_fport)) + 1;
 		return 1;
 
@@ -726,7 +726,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 				return 1;
 			}
 			m->m_len = bptr - m->m_data; /* Adjust length */
-                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
+                        m->m_len += snprintf(bptr, m->m_size,
                                              "DCC CHAT chat %lu %u%c\n",
                                              (unsigned long)ntohl(so->so_faddr.s_addr),
                                              ntohs(so->so_fport), 1);
@@ -737,7 +737,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 				return 1;
 			}
 			m->m_len = bptr - m->m_data; /* Adjust length */
-                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
+                        m->m_len += snprintf(bptr, m->m_size,
                                              "DCC SEND %s %lu %u %u%c\n", buff,
                                              (unsigned long)ntohl(so->so_faddr.s_addr),
                                              ntohs(so->so_fport), n1, 1);
@@ -748,7 +748,7 @@  tcp_emu(struct socket *so, struct mbuf *m)
 				return 1;
 			}
 			m->m_len = bptr - m->m_data; /* Adjust length */
-                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
+                        m->m_len += snprintf(bptr, m->m_size,
                                              "DCC MOVE %s %lu %u %u%c\n", buff,
                                              (unsigned long)ntohl(so->so_faddr.s_addr),
                                              ntohs(so->so_fport), n1, 1);