Message ID | 20181121220647.18844-2-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | slirp: make it again a standalone project | expand |
Marc-André Lureau, le jeu. 22 nov. 2018 02:06:18 +0400, a ecrit: > Somehow, I broke the build and failed to detect it. Please squash! > +#include "qemu/osdep.h" > + > +typedef uint32_t tcp_seq; I preferred to just use uint32_t instead of tcp_seq in the couple of places where this showed up. > /* > * Structure of an internet header, naked of options. > @@ -50,6 +53,29 @@ struct ip { > struct in_addr ip_src, ip_dst; /* source and dest address */ > } QEMU_PACKED; > > +/* > + * TCP header. > + * Per RFC 793, September, 1981. > + */ > +#define tcphdr slirp_tcphdr > +struct tcphdr { > + uint16_t th_sport; /* source port */ > + uint16_t th_dport; /* destination port */ > + tcp_seq th_seq; /* sequence number */ > + tcp_seq th_ack; /* acknowledgement number */ > +#ifdef HOST_WORDS_BIGENDIAN > + uint8_t th_off:4, /* data offset */ > + th_x2:4; /* (unused) */ > +#else > + uint8_t th_x2:4, /* (unused) */ > + th_off:4; /* data offset */ > +#endif > + uint8_t th_flags; > + uint16_t th_win; /* window */ > + uint16_t th_sum; /* checksum */ > + uint16_t th_urp; /* urgent pointer */ > +}; > + We already have struct tcp_hdr, in include/net/eth.h, so I used that instead. Too bad I have worked on that just a few minutes ago :) Samuel
Hi On Thu, Nov 22, 2018 at 2:41 AM Samuel Thibault <samuel.thibault@gnu.org> wrote: > > Marc-André Lureau, le jeu. 22 nov. 2018 02:06:18 +0400, a ecrit: > > Somehow, I broke the build and failed to detect it. Please squash! > > > +#include "qemu/osdep.h" > > + > > +typedef uint32_t tcp_seq; > > I preferred to just use uint32_t instead of tcp_seq in the couple of > places where this showed up. > > > /* > > * Structure of an internet header, naked of options. > > @@ -50,6 +53,29 @@ struct ip { > > struct in_addr ip_src, ip_dst; /* source and dest address */ > > } QEMU_PACKED; > > > > +/* > > + * TCP header. > > + * Per RFC 793, September, 1981. > > + */ > > +#define tcphdr slirp_tcphdr > > +struct tcphdr { > > + uint16_t th_sport; /* source port */ > > + uint16_t th_dport; /* destination port */ > > + tcp_seq th_seq; /* sequence number */ > > + tcp_seq th_ack; /* acknowledgement number */ > > +#ifdef HOST_WORDS_BIGENDIAN > > + uint8_t th_off:4, /* data offset */ > > + th_x2:4; /* (unused) */ > > +#else > > + uint8_t th_x2:4, /* (unused) */ > > + th_off:4; /* data offset */ > > +#endif > > + uint8_t th_flags; > > + uint16_t th_win; /* window */ > > + uint16_t th_sum; /* checksum */ > > + uint16_t th_urp; /* urgent pointer */ > > +}; > > + > > We already have struct tcp_hdr, in include/net/eth.h, so I used that > instead. > > Too bad I have worked on that just a few minutes ago :) Great, thank you! and I prefer your solution :)
diff --git a/net/colo.h b/net/colo.h index 420d916af2..b2f60e4d56 100644 --- a/net/colo.h +++ b/net/colo.h @@ -18,6 +18,7 @@ #include "qemu/jhash.h" #include "qemu/timer.h" #include "net/eth.h" +#include "util.h" #define HASHTABLE_MAX_SIZE 16384 diff --git a/net/util.h b/net/util.h index 358185fd50..0e0748913a 100644 --- a/net/util.h +++ b/net/util.h @@ -25,6 +25,9 @@ #ifndef QEMU_NET_UTIL_H #define QEMU_NET_UTIL_H +#include "qemu/osdep.h" + +typedef uint32_t tcp_seq; /* * Structure of an internet header, naked of options. @@ -50,6 +53,29 @@ struct ip { struct in_addr ip_src, ip_dst; /* source and dest address */ } QEMU_PACKED; +/* + * TCP header. + * Per RFC 793, September, 1981. + */ +#define tcphdr slirp_tcphdr +struct tcphdr { + uint16_t th_sport; /* source port */ + uint16_t th_dport; /* destination port */ + tcp_seq th_seq; /* sequence number */ + tcp_seq th_ack; /* acknowledgement number */ +#ifdef HOST_WORDS_BIGENDIAN + uint8_t th_off:4, /* data offset */ + th_x2:4; /* (unused) */ +#else + uint8_t th_x2:4, /* (unused) */ + th_off:4; /* data offset */ +#endif + uint8_t th_flags; + uint16_t th_win; /* window */ + uint16_t th_sum; /* checksum */ + uint16_t th_urp; /* urgent pointer */ +}; + static inline bool in6_equal_net(const struct in6_addr *a, const struct in6_addr *b, int prefix_len)
Somehow, I broke the build and failed to detect it. Please squash! Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- net/colo.h | 1 + net/util.h | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+)