[systemd-devel] [PATCH 01/28] dhcp: Add DHCP protocol structures and initial defines

Lennart Poettering lennart at poettering.net
Wed Nov 13 16:10:07 PST 2013


On Thu, 14.11.13 08:56, Marcel Holtmann (marcel at holtmann.org) wrote:

> 
> Hi Lennart,
> 
> >> +#define BOOTREQUEST                             1
> >> +#define BOOTREPLY                               2
> >> +
> >> +#define DHCP_DISCOVER                           1
> >> +#define DHCP_OFFER                              2
> >> +#define DHCP_REQUEST                            3
> >> +#define DHCP_DECLINE                            4
> >> +#define DHCP_ACK                                5
> >> +#define DHCP_NAK                                6
> >> +#define DHCP_RELEASE                            7
> >> +
> >> +#define DHCP_OVERLOAD_FILE                      1
> >> +#define DHCP_OVERLOAD_SNAME                     2
> >> +
> >> +#define DHCP_OPTION_PAD                         0
> >> +#define DHCP_OPTION_SUBNET_MASK                 1
> >> +#define DHCP_OPTION_ROUTER                      3
> >> +#define DHCP_OPTION_DOMAIN_NAME_SERVER          6
> >> +#define DHCP_OPTION_HOST_NAME                   12
> >> +#define DHCP_OPTION_DOMAIN_NAME                 15
> >> +#define DHCP_OPTION_NTP_SERVER                  42
> >> +#define DHCP_OPTION_REQUESTED_IP_ADDRESS        50
> >> +#define DHCP_OPTION_OVERLOAD                    52
> >> +#define DHCP_OPTION_MESSAGE_TYPE                53
> >> +#define DHCP_OPTION_PARAMETER_REQUEST_LIST      55
> >> +#define DHCP_OPTION_END                         255
> > 
> > For defines like these I'd really suggest using anonymous enums. It's a
> > good thing if the compiler knows these things, not just the
> > pre-processor...
> 
> these are wire protocol definitions. What benefit do you gain if the
> compiler knows them. You always have to handle invalid cases anyway
> since malicious servers are a reality.

For example, it's nicer to work with gdb if it can resolve them...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list