Possibility of disabling raw socket use in Kea ?

Tomek Mrugalski tomasz at isc.org
Mon Sep 22 10:39:27 UTC 2014


On 22/09/14 12:13, Marcin Siodelski wrote:
> The code in Kea is prepared to switch between the use of raw sockets and
> regular datagram sockets. But, currently the selection is hardcoded and
> there is no configuration parameter to control this selection by the
> administrator. We're now going through some refactoring of the
> configuration code, so once this is done we can easily implement the switch.
For the time being, you can do an experiment. It requires a minor change
to the source code.

The specific socket handling objects are called PktFilterLPF (raw
sockets) PktFilterInet(udp sockets). They are initialized in
IfaceMgr::setMatchingPacketFilter in iface_mgr_linux.cc in src/lib/dhcp
directory. That is called from Dhcpv4Srv constructor, which is in turn
controlled by direct_response_desired flag. Its default value is set to
true. If you edit it (line 91 in src/lib/dhcp/dhcp4_srv.h) to false and
recompile, it is possible that the code will be able to successfully use
UDP sockets.

Disclaimer: It's a quick hack. I haven't done any experiments with this,
so it may break down. We can't apply it, as most people are interested
in direct traffic, so a proper switch (either compile time or run time)
is needed. That's something that we can't do immediately.

Tomek



More information about the kea-dev mailing list