diff options
| author | Hans Dedecker | 2020-12-08 17:31:25 +0000 |
|---|---|---|
| committer | Hans Dedecker | 2020-12-08 17:35:15 +0000 |
| commit | 3999b6d3947bcaa2def874311b427a2ea0efba5b (patch) | |
| tree | e34ab1033373caf0f3d95e9868701faa18060db6 | |
| parent | e99e029626f2044e65870e74f22c96865297bfbf (diff) | |
| download | odhcp6c-3999b6d3947bcaa2def874311b427a2ea0efba5b.tar.gz | |
dhcpv6: rework DHCPv6 message to string implementation
As the DHCPv6 messages handled by odhcp6c are not numerical consecutive
drop the DHCPv6 message string array
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
| -rw-r--r-- | src/dhcpv6.c | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/src/dhcpv6.c b/src/dhcpv6.c index e819189..312e7aa 100644 --- a/src/dhcpv6.c +++ b/src/dhcpv6.c @@ -124,23 +124,42 @@ static uint32_t ntohl_unaligned(const uint8_t *data) static char *dhcpv6_msg_to_str(enum dhcpv6_msg msg) { - static char *dhcpv6_msg_str[] = { - "UNKNOWN", - "SOLICIT", - "ADVERTISE", - "REQUEST", - "RENEW", - "REBIND", - "REPLY", - "DECLINE", - "RECONFIGURE", - "INFORMATION REQUEST", - }; + switch (msg) { + case DHCPV6_MSG_SOLICIT: + return "SOLICIT"; + + case DHCPV6_MSG_ADVERT: + return "ADVERTISE"; + + case DHCPV6_MSG_REQUEST: + return "REQUEST"; + + case DHCPV6_MSG_RENEW: + return "RENEW"; + + case DHCPV6_MSG_REBIND: + return "REBIND"; - if (msg < _DHCPV6_MSG_MAX) - return dhcpv6_msg_str[msg]; + case DHCPV6_MSG_REPLY: + return "REPLY"; + + case DHCPV6_MSG_RELEASE: + return "RELEASE"; + + case DHCPV6_MSG_DECLINE: + return "DECLINE"; + + case DHCPV6_MSG_RECONF: + return "RECONFIGURE"; + + case DHCPV6_MSG_INFO_REQ: + return "INFORMATION REQUEST"; + + default: + break; + } - return "Unknown"; + return "UNKNOWN"; } int init_dhcpv6(const char *ifname, unsigned int options, int sol_timeout) |