#ifndef IPV4_H #define IPV4_H #include #include "built_in.h" struct ipv4hdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __extension__ uint8_t h_ihl:4, h_version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __extension__ uint8_t h_version:4, h_ihl:4; #else # error "Please fix " #endif uint8_t h_tos; uint16_t h_tot_len; uint16_t h_id; uint16_t h_frag_off; uint8_t h_ttl; uint8_t h_protocol; uint16_t h_check; uint32_t h_saddr; uint32_t h_daddr; } __packed; #endif /* IPV4_H */ ' href='http:///git.distanz.ch/cgit.cgi/linux/net-next.git' title='net-next.git Git repository'/>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-10-06 08:11:50 +0100
committerDavid Howells <dhowells@redhat.com>2016-10-06 08:11:50 +0100
commit9749fd2beac42e32cb3e3d85489b52b9cc71a9ac (patch)
treedd35745be3708e1cd86c691e2b50e474eebfb43b
parent9008f998a2e992991a5d60656d4573ba4c516c58 (diff)
rxrpc: Need to produce an ACK for service op if op takes a long time
We need to generate a DELAY ACK from the service end of an operation if we start doing the actual operation work and it takes longer than expected. This will hard-ACK the request data and allow the client to release its resources. To make this work: (1) We have to set the ack timer and propose an ACK when the call moves to the RXRPC_CALL_SERVER_ACK_REQUEST and clear the pending ACK and cancel the timer when we start transmitting the reply (the first DATA packet of the reply implicitly ACKs the request phase). (2) It must be possible to set the timer when the caller is holding call->state_lock, so split the lock-getting part of the timer function out. (3) Add trace notes for the ACK we're requesting and the timer we clear. Signed-off-by: David Howells <dhowells@redhat.com>