#if defined (ENABLE_CDP) || defined (ENABLE_FDP)
+#include <sys/utsname.h>
+
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
cdp_send(struct lldpd *global,
struct lldpd_hardware *hardware, int version)
{
- const char *platform = "Linux";
+ const char *platform;
+ struct utsname utsname;
struct lldpd_chassis *chassis;
struct lldpd_mgmt *mgmt;
struct lldpd_port *port;
goto toobig;
/* Platform */
- if (global && global->g_config.c_platform) platform = global->g_config.c_platform;
+ if (global && global->g_config.c_platform)
+ platform = global->g_config.c_platform;
+ else {
+ uname(&utsname);
+ platform = utsname.sysname;
+ }
+
if (!(
POKE_START_CDP_TLV(CDP_TLV_PLATFORM) &&
POKE_BYTES(platform, strlen(platform)) &&