https://bugzilla.novell.com/show_bug.cgi?id=735907
https://bugzilla.novell.com/show_bug.cgi?id=735907#c3
Marius Tomaschewski changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |UPSTREAM
--- Comment #3 from Marius Tomaschewski 2012-02-27 16:13:02 UTC ---
The dhcp sockets are bound to each interface with attached filter
to filter packets it wants to see:
6522 socket(PF_PACKET, SOCK_RAW, 768) = 5
6522 ioctl(5, SIOCGIFINDEX, {ifr_name="br2200", ifr_index=11}) = 0
6522 bind(5, {sa_family=AF_PACKET, proto=0000, if11, pkttype=PACKET_HOST,
addr(0)={0, }, 20) = 0
6522 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 7
6522 setsockopt(5, SOL_PACKET, 0x8 /* PACKET_??? */, [1], 4) = 0
6522 setsockopt(5, SOL_SOCKET, SO_ATTACH_FILTER, "\v\0\0\0\0\0\0\0
\226G\243\340\177\0\0", 16) = 0
But it opens also a RAW ICMP socket to receive echo-replies
from clients where it probes if their IPs in use or not:
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 4
setsockopt(4, SOL_SOCKET, SO_DONTROUTE, [0], 4) = 0
This is the socket where it receives the packets from your "ping -f".
Well, it would be possible to attach a filter to filter out
echo-replies with LPF, too. Current code checks a) packet length
and b) icmp_type != ICMP_ECHOREPLY for each packet it receives.
It receives icmp on all interfaces because dhcp may be used on
multiple interfaces too.
Feel free to request this improvement upstream:
dhcp-suggest@isc.org or dhcp-bugs@isc.org
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.