Hello everyone,
I recently reinstalled dhcpd directly from the ISC source on my OpenSuse 10.2 system.
I have had one problem with dhclient ever since.
Every time the NetworkManager tried to get the new ip address,
it used to get a link-local ip address and dhclient used to say that it did not understand the command string.
After digging through, I found that dhclient was passed the following command string:
sbin/dhclient -1 -lf /var/lib/dhcp/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid -q -H linux-0x3t -e dhc_dbus=31 -x -d eth0
Dhclient did not understand -H parameter so it just refused run everytime it was called.
So I made the modification in the dhclient source code to ignore this parameter.
Now the dhclient doesn't fail with the same message but it just shuts down the network interface its called on.
I found this is happening because of the -x parameter. Even if I use the following command string on the shell, the interface shuts down:

$dhclient -x <interface name>
It is probably a stupid question but what does this parameter do? The man pages of different versions seem to give different answers
and google search for this is inconclusive.

One of the man pages available online says:

"The -x argument enables eXtended option information to be created in
the -s dhclient-script environment, which would allow applications run-
ning in that environment to handle options they do not know about in
advance."
The source for dhclient version 3.1.1b1 (the one I currently have on my computer) says :
"It will execute
dhclient-script (8)
at shutdown with the specific reason for calling the script set."
The man page installed on my system says :
"The -x flag tells any currently running client to exit gracefully with‐
out releasing leases first."

So I am just confused. I don't know why this parameter shuts the interface down. Please tell me why this could be happening.