[Dnsmasq-discuss] Decouple enable-tftp and no-dhcp-interface
Lonnie Abelbeck
lists at lonnie.abelbeck.com
Sat Jul 27 23:02:27 BST 2013
On Jul 25, 2013, at 4:44 PM, Lonnie Abelbeck wrote:
>
> On Jul 25, 2013, at 4:06 PM, Simon Kelley wrote:
>
>> On 23/06/13 20:34, Lonnie Abelbeck wrote:
>>> Hi,
>>>
>>> I'd like to suggest that enable-tftp and no-dhcp-interface should be
>>> decoupled.
>>>
>>> Not only is it confusing that no-dhcp-interface also disables
>>> enable-tftp for that interface, but it is sometimes desirable to
>>> allow DNS and TFTP on an interface without DHCP.
>>>
>>> Looking at "src/tftp.c" is seems there is no dependance on DHCP
>>> except to walk the no-dhcp-interface args when HAVE_DHCP is defined.
>>>
>>> Ideally, IMHO, enable-tftp should be independent from HAVE_DHCP and
>>> add a new "no-tftp-interface" config that would be tested for
>>> interface exceptions instead of no-dhcp-interface.
>>>
>>> Reasonable ?
>>
>> The rationale for the current state-of-the-world is that the TFTP server in dnsmasq is provided for the express purpose of doing netbooting, so it makes sense to do TFTP on the same interfaces/addresses as DHCP.
>>
>> I'd like to keep that as-is, for backwards compatibility if no other reason, so I suggest that we could add new option --tftp-interface that would have a higher priority than no-dhcp-interface. SO, to do TFTP but NOT DHCP on eth0 you'd do
>>
>> no-dhcp-interface=eth0
>> tftp-interface=eth0
>>
>> No existing configs would change meaning, and the common case wouldn't need to use the new option.
>>
>> Comments?
>>
>> Simon.
>
> To be clear, if in the above example eth1 had DHCP enabled, then TFTP would be served on both eth0 and eth1 ?
>
> If so, would this be more clear ?
> --
> tftp-no-dhcp-interface=eth0
> --
> which would be a synonym for "no-dhcp-interface" but would mark that interface to allow TFTP.
>
> I agree no change to existing configs is best.
>
> Lonnie
Replying to myself, another idea...
Allow "enable-tftp" to work the same as currently, but then add "enable-tftp=" with options:
# Limit TFTP server to a list of interfaces
--enable-tftp=eth1,eth2
# Allow TFTP server for all interfaces
--enable-tftp=*
Then "enable-tftp" and "enable-tftp=" can't both be specified.
Lonnie
More information about the Dnsmasq-discuss
mailing list