Project

General

Profile

Actions

Task #1922

closed

EthernetFace: workaround with kqueue and Boost 1.56.0

Added by Alex Afanasyev about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Category:
Build
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

EthernetFace obtains a file descriptor from pcap_get_selectable_fd API, and passes it to Boost.Asio.

On OS X and FreeBSD, Boost.Asio uses kqueue as an alternate to poll syscall, in order to gain better performance.

Since Boost 1.56, Boost.Asio's usage of kqueue becomes incompatible with libpcap's file descriptor.
Attempting to create an EthernetFace causes runtime error.

Although it's possible to disable kqueue and revert to poll syscall, the performance would be worse than using kqueue.

Therefore, EthernetFace is forcibly disabled on platforms with kqueue, when NFD is compiled with Boost 1.56 or above.

This Task is to find a workaround, so that EthernetFace can work with kqueue and Boost 1.56.0.


Related issues 1 (0 open1 closed)

Related to NFD - Bug #1877: EthernetFace creation fails on OS X with Boost 1.56.0ClosedAlex Afanasyev08/17/2014

Actions
Actions

Also available in: Atom PDF