#ifndef IOOPS_H #define IOOPS_H #include extern int open_or_die(const char *file, int flags); extern int open_or_die_m(const char *file, int flags, mode_t mode); extern int dup_or_die(int oldfd); extern void dup2_or_die(int oldfd, int newfd); extern void create_or_die(const char *file, mode_t mode); extern int tun_open_or_die(const char *name, int type); extern void pipe_or_die(int pipefd[2], int flags); extern ssize_t read_or_die(int fd, void *buf, size_t count); extern ssize_t write_or_die(int fd, const void *buf, size_t count); extern int read_blob_or_die(const char *file, void *blob, size_t count); extern int write_blob_or_die(const char *file, const void *blob, size_t count); #endif /* IOOPS_H */ mg src='/cgit.png' alt='cgit logo'/> index : net-next.git
net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2017-01-17 10:22:57 +0100
committerSteffen Klassert <steffen.klassert@secunet.com>2017-01-17 10:22:57 +0100
commitcac2661c53f35cbe651bef9b07026a5a05ab8ce0 (patch)
tree5dcfc6cc74b9d68bd7282dade08fb1c9d0a7989e /include
parent726282aa6bbe627b3876afc27f88172e37b1d01d (diff)
esp4: Avoid skb_cow_data whenever possible
This patch tries to avoid skb_cow_data on esp4. On the encrypt side we add the IPsec tailbits to the linear part of the buffer if there is space on it. If there is no space on the linear part, we add a page fragment with the tailbits to the buffer and use separate src and dst scatterlists. On the decrypt side, we leave the buffer as it is if it is not cloned. With this, we can avoid a linearization of the buffer in most of the cases. Joint work with: Sowmini Varadhan <sowmini.varadhan@oracle.com> Ilan Tayari <ilant@mellanox.com> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: Ilan Tayari <ilant@mellanox.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'include')