diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-05-30 17:12:17 +0200 |
---|---|---|
committer | Daniel Borkmann <dborkman@redhat.com> | 2013-05-30 17:20:42 +0200 |
commit | 1b32f3d1d33bf02d5e10ef3178075421c592b5f6 (patch) | |
tree | d6749266bb018958cba8ffc56e9727e909aa90b8 /ring.h | |
parent | 11eb8de6fbd8578305c57082139d72c4f46c0864 (diff) |
ring: add set_sockopt_tpacket_v3 and refactor others
Add set_sockopt_tpacket_v3() in preparation for TPACKET_V3.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Diffstat (limited to 'ring.h')
-rw-r--r-- | ring.h | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -102,13 +102,21 @@ static inline void prepare_polling(int sock, struct pollfd *pfd) pfd->events = POLLIN | POLLRDNORM | POLLERR; } -static inline void set_sockopt_tpacket_v2(int sock) +static inline void __set_sockopt_tpacket(int sock, int val) { - int ret, val = TPACKET_V2; - - ret = setsockopt(sock, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + int ret = setsockopt(sock, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); if (ret) panic("Cannot set tpacketv2!\n"); } +static inline void set_sockopt_tpacket_v2(int sock) +{ + __set_sockopt_tpacket(sock, TPACKET_V2); +} + +static inline void set_sockopt_tpacket_v3(int sock) +{ + __set_sockopt_tpacket(sock, TPACKET_V3); +} + #endif /* RING_H */ |