Commit e553272d759b41e6d1de226c8fad0aab56fefdd6
1 parent
3aee288b
> 32 KB packet handling (Ed Swierk)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1891 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
5 additions
and
9 deletions
slirp/ip.h
| ... | ... | @@ -75,10 +75,6 @@ typedef u_int32_t n_long; /* long as received from the net */ |
| 75 | 75 | |
| 76 | 76 | /* |
| 77 | 77 | * Structure of an internet header, naked of options. |
| 78 | - * | |
| 79 | - * We declare ip_len and ip_off to be short, rather than u_short | |
| 80 | - * pragmatically since otherwise unsigned comparisons can result | |
| 81 | - * against negative integers quite easily, and fail in subtle ways. | |
| 82 | 78 | */ |
| 83 | 79 | struct ip { |
| 84 | 80 | #ifdef WORDS_BIGENDIAN |
| ... | ... | @@ -89,9 +85,9 @@ struct ip { |
| 89 | 85 | ip_v:4; /* version */ |
| 90 | 86 | #endif |
| 91 | 87 | u_int8_t ip_tos; /* type of service */ |
| 92 | - int16_t ip_len; /* total length */ | |
| 88 | + u_int16_t ip_len; /* total length */ | |
| 93 | 89 | u_int16_t ip_id; /* identification */ |
| 94 | - int16_t ip_off; /* fragment offset field */ | |
| 90 | + u_int16_t ip_off; /* fragment offset field */ | |
| 95 | 91 | #define IP_DF 0x4000 /* don't fragment flag */ |
| 96 | 92 | #define IP_MF 0x2000 /* more fragments flag */ |
| 97 | 93 | #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ |
| ... | ... | @@ -212,7 +208,7 @@ struct ipovly { |
| 212 | 208 | caddr32_t ih_next, ih_prev; /* for protocol sequence q's */ |
| 213 | 209 | u_int8_t ih_x1; /* (unused) */ |
| 214 | 210 | u_int8_t ih_pr; /* protocol */ |
| 215 | - int16_t ih_len; /* protocol length */ | |
| 211 | + u_int16_t ih_len; /* protocol length */ | |
| 216 | 212 | struct in_addr ih_src; /* source internet address */ |
| 217 | 213 | struct in_addr ih_dst; /* destination internet address */ |
| 218 | 214 | }; |
| ... | ... | @@ -253,9 +249,9 @@ struct ipasfrag { |
| 253 | 249 | u_int8_t ipf_mff; /* XXX overlays ip_tos: use low bit |
| 254 | 250 | * to avoid destroying tos (PPPDTRuu); |
| 255 | 251 | * copied from (ip_off&IP_MF) */ |
| 256 | - int16_t ip_len; | |
| 252 | + u_int16_t ip_len; | |
| 257 | 253 | u_int16_t ip_id; |
| 258 | - int16_t ip_off; | |
| 254 | + u_int16_t ip_off; | |
| 259 | 255 | u_int8_t ip_ttl; |
| 260 | 256 | u_int8_t ip_p; |
| 261 | 257 | u_int16_t ip_sum; | ... | ... |