.. | .. |
---|
214 | 214 | |
---|
215 | 215 | static int recv_msg(int fd, char *buf, int len, int *gso_size) |
---|
216 | 216 | { |
---|
217 | | - char control[CMSG_SPACE(sizeof(uint16_t))] = {0}; |
---|
| 217 | + char control[CMSG_SPACE(sizeof(int))] = {0}; |
---|
218 | 218 | struct msghdr msg = {0}; |
---|
219 | 219 | struct iovec iov = {0}; |
---|
220 | 220 | struct cmsghdr *cmsg; |
---|
221 | | - uint16_t *gsosizeptr; |
---|
222 | 221 | int ret; |
---|
223 | 222 | |
---|
224 | 223 | iov.iov_base = buf; |
---|
.. | .. |
---|
237 | 236 | cmsg = CMSG_NXTHDR(&msg, cmsg)) { |
---|
238 | 237 | if (cmsg->cmsg_level == SOL_UDP |
---|
239 | 238 | && cmsg->cmsg_type == UDP_GRO) { |
---|
240 | | - gsosizeptr = (uint16_t *) CMSG_DATA(cmsg); |
---|
241 | | - *gso_size = *gsosizeptr; |
---|
| 239 | + *gso_size = *(int *)CMSG_DATA(cmsg); |
---|
242 | 240 | break; |
---|
243 | 241 | } |
---|
244 | 242 | } |
---|
.. | .. |
---|
250 | 248 | static void do_flush_udp(int fd) |
---|
251 | 249 | { |
---|
252 | 250 | static char rbuf[ETH_MAX_MTU]; |
---|
253 | | - int ret, len, gso_size, budget = 256; |
---|
| 251 | + int ret, len, gso_size = 0, budget = 256; |
---|
254 | 252 | |
---|
255 | 253 | len = cfg_read_all ? sizeof(rbuf) : 0; |
---|
256 | 254 | while (budget--) { |
---|
.. | .. |
---|
336 | 334 | cfg_verify = true; |
---|
337 | 335 | cfg_read_all = true; |
---|
338 | 336 | break; |
---|
| 337 | + default: |
---|
| 338 | + exit(1); |
---|
339 | 339 | } |
---|
340 | 340 | } |
---|
341 | 341 | |
---|