meta-openembedded: subtree update:76b83194b3..ae39f2e711

Adrian Bunk (3):
      libpeas: gobject-introspection is mandatory and cannot be configured
      gnome-settings-daemon: smartcard support is optional, and needs nss
      gnome-settings-daemon: Remove duplicate outdated SRC_URI hashes

Alex Kiernan (1):
      ostree: upgrade 2020.4 -> 2020.5

Andreas Müller (29):
      xfce4-whiskermenu-plugin: upgrade 2.4.5 -> 2.4.6
      xfwm4: upgrade 4.14.2 -> 4.14.3
      xfce4-timer-plugin: upgrade 1.7.0 -> 1.7.1
      gnome-desktop3: upgrade 3.36.3.1 -> 3.36.4
      evolution-data-server: upgrade 3.36.3 -> 3.36.4
      gnome-control-center: upgrade 3.36.3 -> 3.36.4
      gtksourceview4: upgrade 4.6.0 -> 4.6.1
      libnma: upgrade 1.8.28 -> 1.8.30
      libgweather: upgrade 3.36.0 -> 3.36.1
      evince: upgrade 3.36.5 -> 3.36.7
      exiv2: upgrade 0.27.1 -> 0.27.3
      poppler: upgrade 0.89.0 -> 0.90.1
      live555: merge recipe with inc
      live555: upgrade 20190828 -> 20200721
      tumbler: upgrade 0.2.8 -> 0.2.9
      xfwm4: upgrade 4.14.3 -> 4.14.4
      geoclue: upgrade 2.5.3 -> 2.5.6
      gnome-help.bbclass: remove double FILES_${PN}-help entry
      gnome-calendar: initial add 3.36.2
      imagemagick: upgrade 7.0.9_13 -> 7.0.10_25
      libpeas: disable tests when introspection is not enabled/available
      udisks2: upgrade 2.8.4+ -> 2.9.1
      xfwm4: upgrade 4.14.4 -> 4.14.5
      gnome-desktop3: upgrade 3.36.4 -> 3.36.5
      file-roller: upgrade 3.36.2 -> 3.36.3
      evolution-data-server: upgrade 3.36.4 -> 3.36.5
      gnome-disk-utility: re-add 3.36.3
      gdm: upgrade 3.36.2 -> 3.36.3
      poppler: upgrade 0.90.1 -> 20.08.0

Andrey Konovalov (1):
      libcamera: fix packaging and installation

Aníbal Limón (1):
      meta-oe: opengl-es-cts install deqp test runners

Armin Kuster (2):
      jsoncpp: add PE do to dunfell reverts
      libpeas: this depends on gtk3+ add FEATURE CHECK

Arthur She (1):
      xmlrpc-c: Upgrade 1.51.03 -> 1.54.02

Changqing Li (1):
      mozjs: fix multilib conflict

Colin McAllister (6):
      python3-paramiko: Added recipe
      python3-lorem: Added recipe
      python3-textparser: Added recipe
      python3-jdatetime: Added recipe
      python3-pynacl: Added recipe
      autossh: Created recipe

Daniel Dragomir (1):
      rasdaemon: update to 0.6.6 and fix SRC_URI broken link

Gianfranco (4):
      dlt-daemon: update to 2.18.5
      dlt-daemon: add new dlt-filetransfer PACKAGECONFIG option
      dlt-daemon: fix build failure when dlt-dbus is enabled, due to missing service file.
      dlt-daemon: enable some configurations by default in PACKAGECONFIG

Gianfranco Costamagna (2):
      vboxguestdrivers: upgrade 6.1.6 -> 6.1.12
      dlt-daemon: fix build with upstream-proposed patch for MUSL libc

Hongxu Jia (1):
      vboxguestdrivers: fix failed to compile with kernel 5.8.0

Jack Mitchell (1):
      python3-pybind11: install both python wheel and cmake build

Jacob Kroon (1):
      abseil-cpp: Use SkipRecipe exception

James Feist (1):
      boost-url: Add recipe

Jens Rehsack (1):
      bearssl: add new recipe

Johan Jeppsson (1):
      nngpp: Add recipe

Jyothi-k (1):
      fmt: 7.0.1 -> 7.0.3

Kai Kang (2):
      xfce4-eyes-plugin: 4.5.0 -> 4.5.1
      rdist: fix parallel build

Khem Raj (82):
      flashrom: Fix build failure with glibc 2.32
      spdlog: Upgrade to 1.7.0
      gerbera: Upgrade to 1.6.0
      libqmi:  Delete --enable-more-warnings configure option
      gnome-settings-daemon: Drop using autotools specific option
      gnome-settings-daemon: Add introspection to UNKNOWN_CONFIGURE_WHITELIST
      iwd: Module load dir should be relative to root_dir
      libcamera: Fix License names to match SPDX convention
      satyr: Upgrade to 0.30
      gpm: Upgrade to latest master
      gensio: Upgrade to 2.1.4
      freeglut: Use -fcommon always
      xfsprogs: Upgrade to 5.7.0
      freerdp: Upgrade to 2.2.0
      htop: Fix build with -fno-common
      dialog: Turn X11 support into a packageconfig option
      x11vnc: Update to latest on master
      vblade: Upgrade to version 24
      netperf: Fix build with -fno-common
      netplan: Update to latest to fix build with -fno-common
      ncftp: Fix build with -fno-common
      iscsi-initiator-utils: Upgrade to _2.1.2
      tftp-hpa: Fix build with -fno-common
      fwknop: Fix build with gcc10
      dibbler: Update to latest
      quagga: Use -fcommon to compile
      drbd: Upgrade to 9.0.24-1
      drbd-utils: Uphgrade to 9.13.1
      snort: Upgrade to 2.9.16.1
      daq: Upgrade to 2.0.7
      openlldp: Update to latest master
      iftop: Fix build with -fno-common
      xfce4-sensors-plugin: Fix build with -fno-common
      xfce4-cpufreq-plugin: Fix build with -fno-common
      imsettings: Upgrade to 1.8.2
      lcdproc: Fix compilation with GCC >= 10.x
      openal-soft: Update to 1.20.1
      mimic: Upgrade to 1.3.0.1
      minidlna: Fix build with -fno-common
      tvheadend: Update to latest tip
      monkey: Upgrade to 1.6.9
      klibc: Compile with -fcommon
      kexecboot: Use -fcommon to compile
      python3-matplotlib: Use lld for linking when using clang
      python3-pandas: Add workaround to fix build with clang
      memtester: Fix build with -fno-common
      read-edid: Fix build with gcc-10+
      owfs: Fix build with -fno-common
      sharutils: Fix build with -fno-common
      lprng: Fix build with -fno-common
      fluentbit: Use -fcommon to compile
      fbida: Upgrade to 2.14
      ipmitool: Fix build with -fno-common
      smstools3: Fix build with -fno-common
      sblim-sfcb: Fix build with -fno-common
      cdrkit: Fix build with -fno-common
      openocd: Fix build with gcc10/-fno-common
      liblbxutil: Fix build with gcc10/-fno-common
      mg: Upgrade to 20200723 tag
      libforms: Fix build with -fno-common
      wifi-test-suite: Update to latest tip
      xf86-video-ati: Fix link failure with gcc 10
      ifplugd: Fix build with gcc10/-fno-common
      tcsh: Fix build with -fno-common
      makedumpfile: Fix build with -fno-common
      nodejs: Upgrade to 12.18.3
      opencl-headers: Upgrade to v2020.06.16
      ocl-icd: Upgrade to latest
      opencl-icd-loader: Update beyond 2020.06.16
      fwts: Upgrade to 20.07.00
      pegtl: Disable type-limits warning
      opensaf: Fix build with -fno-common
      crash: Fix arm64 build with -fno-common
      minifi-cpp: Fix build with lto/clang
      libyui-ncurses: Disable werror with clang
      sedutils: Fix build with clang11
      directfb: Disable dtor-typedef warning with clang11
      gerbera: Disable PIE on rv64
      opengl-es-cts: Use SECURITY_NOPIE_CFLAGS
      opencv: Upgrade to 4.4.0
      minifi-cpp: Fix linking with libxml2
      sdbus-c++: Fix ptest packaging

Leon Anavi (80):
      python3-pytest-metadata: Upgrade 1.9.0 -> 1.10.0
      python3-cmd2: Upgrade 1.1.0 -> 1.2.1
      python3-aenum: Upgrade 2.2.3 -> 2.2.4
      python3-bitarray: Upgrade 1.4.1 -> 1.4.2
      python3-colorlog: Upgrade 4.1.0 -> 4.2.1
      python3-matplotlib: Upgrade 3.2.2 -> 3.3.0
      python3-urllib3: Upgrade 1.25.9 -> 1.25.10
      python3-pywbem: Upgrade 0.17.3 -> 0.17.4
      python3-lxml: Upgrade 4.5.1 -> 4.5.2
      python3-gmqtt: Upgarde 0.6.5 -> 0.6.7
      python3-pyroute2: Upgrade 0.5.12 -> 0.5.13
      python3-pymongo: Upgrade 3.10.1 -> 3.11.0
      python3-pid: Upgrade 3.0.3 -> 3.0.4
      python3-pychromecast: Upgrade 7.1.2 -> 7.2.0
      python3-dynamic-dispatch: Upgrade 1.0.2 -> 1.0.3
      python3-cbor2: Upgrade 5.1.1 -> 5.1.2
      python3-xlsxwriter: Consolidate in a single file
      python3-xlsxwriter: Upgrade 1.2.9 -> 1.3.0
      python3-cffi: Upgrade 1.14.0 -> 1.14.1
      python3-pandas: Upgrade 1.0.5 -> 1.1.0
      python3-luma-core: Upgrade 1.14.0 -> 1.14.1
      python3-tqdm: Upgrade 4.47.0 -> 4.48.0
      python3-asn1crypto: Upgrade 1.3.0 -> 1.4.0
      python3-pyalsaaudio: Consolidate in a single file
      python3-pyalsaaudio: Upgrade 0.8.4 -> 0.9.0
      python3-autobahn: Upgrade 20.6.2 -> 20.7.1
      python3-isort: Upgrade 5.1.4 -> 5.2.2
      python3-ujson: Upgrade 3.0.0 -> 3.1.0
      python3-yarl: Upgrade 1.4.2 -> 1.5.1
      python3-openpyxl: Upgrade 3.0.3 -> 3.0.4
      python3-cryptography: Upgrade 2.8 -> 3.0
      python3-dnspython: Upgrade 1.16.0 -> 2.0.0
      python3-regex: Upgrade 2020.6.8 -> 2020.7.14
      python3-lazy-object-proxy: Upgrade 1.5.0 -> 1.5.1
      python3-xxhash: Upgrade 1.4.4 -> 2.0.0
      xxhash: Upgrade 0.7.4 -> 0.8.0
      python3-parso: Upgrade 0.7.1 -> 0.8.0
      python3-argexec: Upgrade 1.0.2 -> 1.0.3
      python3-xlsxwriter: Upgrade 1.3.0 -> 1.3.2
      python3-cantools: Upgrade 35.1.0 -> 35.3.0
      python3-wtforms: Upgrade 2.3.1 -> 2.3.3
      python3-prompt-toolkit: Upgrade 3.0.5 -> 3.0.6
      python3-cmd2: Upgrade 1.2.1 -> 1.3.1
      python3-luma-core: Upgrade 1.14.1 -> 1.15.0
      python3-hyperlink: Upgrade 19.0.0 -> 20.0.1
      python3-bitarray: Upgrade 1.4.2 -> 1.5.1
      python3-isort: Upgrade 5.2.2 -> 5.3.2
      python3-gast: Upgrade 0.3.3 -> 0.4.0
      python3-tqdm: Upgrade 4.48.0 -> 4.48.2
      python3-sympy: Upgrade 1.6.1 -> 1.6.2
      python3-parse: Upgrade 1.15.0 -> 1.16.0
      python3-flask-login: Consolidate in a single file
      python3-flask-login: Upgrade 0.4.1 -> 0.5.0
      python3-graphviz: Upgrade 0.14 -> 0.14.1
      python3-huey: Upgrade 2.2.0 -> 2.3.0
      python3-rsa: Upgrade 3.4.2 -> 4.6
      python3-cmd2: Upgrade 1.3.1 -> 1.3.2
      python3-u-msgpack-python: Upgrade 2.6.0 -> 2.7.0
      python3-pytest-timeout: Upgrade 1.4.1 -> 1.4.2
      python3-javaobj-py3: Upgrade 0.4.0.1 -> 0.4.1
      python3-sentry-sdk: Upgrade 0.16.0 -> 0.16.3
      python3-coverage: Upgrade 5.2 -> 5.2.1
      python3-redis: Upgrade 2.10.6 -> 3.5.3
      mosquitto: Upgrade 1.6.10 -> 1.6.11
      python3-matplotlib: Upgrade 3.3.0 -> 3.3.1
      python3-humanize: Upgrade 2.5.0 -> 2.6.0
      python3-bcrypt: Upgrade 3.1.7 -> 3.2.0
      python3-isort: Upgrade 5.3.2 -> 5.4.2
      python3-cffi: Upgrade 1.14.1 -> 1.14.2
      python3-wheel: Upgrade 0.34.2 -> 0.35.1
      python3-cmd2: Upgrade 1.3.2 -> 1.3.3
      python3-google-api-python-client: Upgrade 1.9.3 -> 1.10.0
      python3-bitarray: Upgrade 1.5.1 -> 1.5.2
      python3-xlsxwriter: Upgrade 1.3.2 -> 1.3.3
      python3-sqlalchemy: Upgrade 1.3.18 -> 1.3.19
      python3-sentry-sdk: Upgrade 0.16.3 -> 0.16.5
      python3-python-vlc: Upgrade 3.0.10114 -> 3.0.11115
      python3-pytest-asyncio: Upgrade 0.12.0 -> 0.14.0
      python3-djangorestframework: Consolidate in a single file
      python3-djangorestframework: Upgrade 3.9.0 -> 3.11.1

Martin Jansa (2):
      khronos-cts: add opengl to REQUIRED_DISTRO_FEATURES
      lcov: fix lcov-native build

Mingli Yu (4):
      mariadb: upgrade to 10.5.4
      mariadb: not use the bundled libpcre2
      freeradius: fix the occasional verification failure
      fio: upgrade to 3.21

Oleksandr Kravchuk (49):
      iwd: update to 1.8
      nvme-cli: update to 1.12
      dialog: update to 1.3-20200327
      libqmi: update to 1.26.0
      libmbim: update to 1.24.2
      libwebsockets: update to 4.0.20
      libkcapi: update to 1.2.0
      libbytesize: update to 2.3
      libvdpau: update to 1.4
      libcec: update to 6.0.2
      dctl: update v69
      pmdk: update to 1.9
      libzip: update to 1.7.3
      tmux: update to 3.1b
      libjcat: update to 0.1.3
      leptonica: update to 1.79.0
      libvncserver: update to 0.9.13
      libopusenc: add recipe 0.2.1
      broadcom-bt-firmware: update to 12.0.1.1105_p2
      lsscsi: update to 0.31
      opusfile: update to 0.12
      libmpdclient: update to 2.19
      crossguid: update to 0.2.2
      libmediaart: update to 2.0_1.9.4
      kronosnet: update to 1.18
      keepalived: update to 2.1.5
      valijson: update to 0.3
      ostree: update to 2020.4
      terminus-font: update to 4.48
      libteam: update to 1.31
      libimobiledevice: update to 1.3.0
      libusbmuxd: update to 2.0.2
      libplist: update to 2.2.0
      usbmuxd: update to 1.1.1
      ifuse: update to 1.1.4
      libyui: update to 3.10.0
      libyui-ncurses: update to 2.55.0
      mpc: update to 0.33
      ncmpc: update to 0.38
      dhcpcd: update to 9.1.4
      firewalld: update to 0.8.3
      openconnect: update to 8.10
      relayd: bump to latest revision
      fping: update to 4.4
      nano: update to 5.0
      broadcom-bt-firmware: add PE back
      libpeas: update to 1.26.0
      ifenslave: update to 2.11
      libupnp: update to 1.14.0

Shlomi Vaknin (11):
      monit: Set monit files in temporary locations
      python3-ipython: add recipe
      python3-traitlets: add recipe
      python3-ipython-genutils: add recipe
      python3-jedi: add recipe
      python3-pickleshare: add recipe
      python3-backcall: add recipe
      python3-parso: add recipe
      prompt-toolkit: fix recipe
      json-schema-validator: Add recipe
      python3-pybind11-json: Add recipe

Slater, Joseph (4):
      lvm2: allow for reproducible binary builds
      python3-cryptography: fix two tests
      mozjs: specify TMPDIR
      aoetool: make builds reproducible

Vijay Khemka (1):
      Adding recipe for exprtk

William A. Kennington III (3):
      fmt: 6.2.0 -> 7.0.1
      cli11: 1.9.0 -> 1.9.1
      function2: 4.0.0 -> 4.1.0

Yi Zhao (2):
      libldb: upgrade 1.5.7 -> 1.5.8
      samba: upgrade 4.10.15 -> 4.10.17

Yue Tao (1):
      lua: Security Advisory - lua - CVE-2020-15888

Zang Ruochen (25):
      fping: upgrade 4.2 -> 4.3
      capnproto: upgrade 0.7.0 -> 0.8.0
      c-ares: upgrade 1.16.0 -> 1.16.1
      iozone3: upgrade 489 -> 490
      ser2net: upgrade 4.1.8 -> 4.2.0
      apache-websocket: upgrade 0.1.1 -> 0.1.2
      hiawatha: upgrade 10.10 -> 10.11
      nostromo: upgrade 1.9.7 -> 1.9.9
      purple-skypeweb: upgrade 1.5 -> 1.6
      dnsmasq: upgrade 2.81 -> 2.82
      linuxptp: upgrade 2.0 -> 3.0
      nlohmann-json: upgrade 3.7.3 -> 3.9.0
      paho-mqtt-c: upgrade 1.3.2 -> 1.3.4
      zlog: upgrade 1.2.14 -> 1.2.15
      jasper: upgrade 2.0.16 -> 2.0.19
      dash: upgrade 0.5.11 -> 0.5.11.1
      libbytesize: upgrade 2.3 -> 2.4
      jsonrpc: Fix build with libmicrohttpd 0.9.71
      libmicrohttpd: upgrade 0.9.70 -> 0.9.71
      rdma-core: upgrade 28.0 -> 30.0
      ipc-run: upgrade 20180523.0 -> 20200505.0
      uhubctl: upgrade 2.1.0 -> 2.2.0
      gsoap: upgrade 2.8.103 -> 2.8.105
      libcgi-perl: upgrade 4.48 -> 4.50
      redis: upgrade 6.0.5 -> 6.0.6

wonjong.lee (1):
      minifi: Add recipe for c++ version

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I003021e0f4c267f79eedf704c43fbb6fdcdaf8b8
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch
new file mode 100644
index 0000000..680f6b6
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch
@@ -0,0 +1,91 @@
+From 090854e09fe18ebf1ba428864895a690086f78ee Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 19 Aug 2019 11:41:13 -0400
+Subject: [PATCH 1/9] cmds: fix enum conversion
+
+Multiple modules use implicit conversion between enum types, but
+this triggers warnings with some compilers.  ex:
+
+  qbg/vdp_cmds.c:110:39: error: implicit conversion from enumeration type
+      'lldp_cmd' to different enumeration type 'cmd_status'
+      [-Werror,-Wenum-conversion]
+        cmd_status good_cmd = vdp_cmdok(cmd, cmd_gettlv);
+
+Reported-at: https://github.com/intel/openlldp/issues/53
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ lldp_evb22_cmds.c | 2 +-
+ lldp_evb_cmds.c   | 2 +-
+ qbg/vdp22_cmds.c  | 2 +-
+ qbg/vdp_cmds.c    | 2 +-
+ vdptool.c         | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lldp_evb22_cmds.c b/lldp_evb22_cmds.c
+index cebfeb2..51810bc 100644
+--- a/lldp_evb22_cmds.c
++++ b/lldp_evb22_cmds.c
+@@ -225,7 +225,7 @@ int evb22_conf_enabletx(char *ifname, enum agent_type type)
+ 				TLVID(OUI_IEEE_8021Qbg22, LLDP_EVB22_SUBTYPE));
+ }
+ 
+-static int evb22_cmdok(struct cmd *cmd, cmd_status expected)
++static int evb22_cmdok(struct cmd *cmd, int expected)
+ {
+ 	if (cmd->cmd != expected)
+ 		return cmd_invalid;
+diff --git a/lldp_evb_cmds.c b/lldp_evb_cmds.c
+index eec4f33..e6af03b 100644
+--- a/lldp_evb_cmds.c
++++ b/lldp_evb_cmds.c
+@@ -163,7 +163,7 @@ int evb_conf_enabletx(char *ifname, enum agent_type type)
+ 	return is_tlv_txenabled(ifname, type, TLVID_8021Qbg(LLDP_EVB_SUBTYPE));
+ }
+ 
+-static int evb_cmdok(struct cmd *cmd, cmd_status expected)
++static int evb_cmdok(struct cmd *cmd, int expected)
+ {
+ 	if (cmd->cmd != expected)
+ 		return cmd_invalid;
+diff --git a/qbg/vdp22_cmds.c b/qbg/vdp22_cmds.c
+index 479b1b0..2e1bbbd 100644
+--- a/qbg/vdp22_cmds.c
++++ b/qbg/vdp22_cmds.c
+@@ -296,7 +296,7 @@ int vdp22_sendevent(struct vdpnl_vsi *p)
+ 	return 0;
+ }
+ 
+-static int vdp22_cmdok(struct cmd *cmd, cmd_status expected)
++static int vdp22_cmdok(struct cmd *cmd, int expected)
+ {
+ 	if (cmd->cmd != expected)
+ 		return cmd_invalid;
+diff --git a/qbg/vdp_cmds.c b/qbg/vdp_cmds.c
+index 95bcfb1..50f2781 100644
+--- a/qbg/vdp_cmds.c
++++ b/qbg/vdp_cmds.c
+@@ -85,7 +85,7 @@ static char *print_mode(char *s, size_t length, struct vsi_profile *p)
+ 	return s;
+ }
+ 
+-static int vdp_cmdok(struct cmd *cmd, cmd_status expected)
++static int vdp_cmdok(struct cmd *cmd, int expected)
+ {
+ 	if (cmd->cmd != expected)
+ 		return cmd_invalid;
+diff --git a/vdptool.c b/vdptool.c
+index 9872348..8f36277 100644
+--- a/vdptool.c
++++ b/vdptool.c
+@@ -141,7 +141,7 @@ static char *print_status(cmd_status status)
+ 		str = "TLV does not support agent type";
+ 		break;
+ 	default:
+-		str = print_vdp_status(status);
++		str = print_vdp_status((enum vdp22_cmd_status)status);
+ 		break;
+ 	}
+ 	return str;
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch
new file mode 100644
index 0000000..8f65b79
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch
@@ -0,0 +1,500 @@
+From 07a83c583b9d508c7040dc6254a6a7113b2ce55f Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:05:42 -0400
+Subject: [PATCH 2/9] lldp_head: rename and make extern
+
+Try to resolve this silly mod issue
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ config.c           |  4 ++--
+ event_iface.c      |  4 ++--
+ include/lldp_mod.h |  2 +-
+ lldp/agent.c       |  2 +-
+ lldp/rx.c          |  4 ++--
+ lldp/tx.c          |  4 ++--
+ lldp_dcbx.c        |  8 ++++----
+ lldp_mand_cmds.c   |  8 ++++----
+ lldpad.c           | 12 +++++++-----
+ lldptool.c         | 14 ++++++++------
+ lldptool_cmds.c    |  2 +-
+ qbg/ecp22.c        |  8 ++++----
+ qbg/vdp.c          |  4 ++--
+ qbg/vdp22.c        |  6 +++---
+ qbg/vdp22_cmds.c   |  2 +-
+ vdptool.c          | 16 +++++++++-------
+ 16 files changed, 53 insertions(+), 47 deletions(-)
+
+diff --git a/config.c b/config.c
+index be458fd..bc3fbae 100644
+--- a/config.c
++++ b/config.c
+@@ -185,7 +185,7 @@ void scan_port(UNUSED void *eloop_data, UNUSED void *user_ctx)
+ 		LIST_FOREACH(agent, &port->agent_head, entry) {
+ 			LLDPAD_DBG("%s: calling ifdown for agent %p.\n",
+ 				   __func__, agent);
+-			LIST_FOREACH(np, &lldp_head, lldp) {
++			LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 				ops = np->ops;
+ 				if (ops->lldp_mod_ifdown)
+ 					ops->lldp_mod_ifdown(ifname, agent);
+@@ -394,7 +394,7 @@ void init_ports(void)
+ 		LIST_FOREACH(agent, &port->agent_head, entry) {
+ 			LLDPAD_DBG("%s: calling ifup for agent %p.\n",
+ 				   __func__, agent);
+-			LIST_FOREACH(np, &lldp_head, lldp) {
++			LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 				if (np->ops->lldp_mod_ifup)
+ 					np->ops->lldp_mod_ifup(p->if_name, agent);
+ 			}
+diff --git a/event_iface.c b/event_iface.c
+index 43a95c7..1be2963 100644
+--- a/event_iface.c
++++ b/event_iface.c
+@@ -216,7 +216,7 @@ int oper_add_device(char *device_name)
+ 	LIST_FOREACH(agent, &port->agent_head, entry) {
+ 		LLDPAD_DBG("%s: calling ifup for agent %p.\n",
+ 			   __func__, agent);
+-		LIST_FOREACH(np, &lldp_head, lldp) {
++		LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 			if (np->ops->lldp_mod_ifup)
+ 				np->ops->lldp_mod_ifup(device_name, agent);
+ 		}
+@@ -283,7 +283,7 @@ static void event_if_decode_nlmsg(int route_type, void *data, int len)
+ 			LIST_FOREACH(agent, &port->agent_head, entry) {
+ 				LLDPAD_DBG("%s: calling ifdown for agent %p.\n",
+ 					   __func__, agent);
+-				LIST_FOREACH(np, &lldp_head, lldp) {
++				LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 					ops = np->ops;
+ 					if (ops->lldp_mod_ifdown)
+ 						ops->lldp_mod_ifdown(device_name,
+diff --git a/include/lldp_mod.h b/include/lldp_mod.h
+index 49a50e4..9733595 100644
+--- a/include/lldp_mod.h
++++ b/include/lldp_mod.h
+@@ -96,7 +96,7 @@ struct lldp_module {
+ };
+ 
+ LIST_HEAD(lldp_head, lldp_module);
+-struct lldp_head lldp_head;
++extern struct lldp_head lldp_mod_head;
+ 
+ static inline struct lldp_module *find_module_by_id(struct lldp_head *head, int id)
+ {
+diff --git a/lldp/agent.c b/lldp/agent.c
+index 333929a..aa4a8d1 100644
+--- a/lldp/agent.c
++++ b/lldp/agent.c
+@@ -163,7 +163,7 @@ static void timer(UNUSED void *eloop_data, UNUSED void *user_ctx)
+ 			run_rx_sm(port, agent);
+ 			update_rx_timers(agent);
+ 
+-			LIST_FOREACH(n, &lldp_head, lldp) {
++			LIST_FOREACH(n, &lldp_mod_head, lldp) {
+ 				if (n->ops && n->ops->timer)
+ 					n->ops->timer(port, agent);
+ 			}
+diff --git a/lldp/rx.c b/lldp/rx.c
+index 12d07bc..43aeeba 100644
+--- a/lldp/rx.c
++++ b/lldp/rx.c
+@@ -359,7 +359,7 @@ void rxProcessFrame(struct port *port, struct lldp_agent *agent)
+ 		}
+ 
+ 		/* rx per lldp module */
+-		LIST_FOREACH(np, &lldp_head, lldp) {
++		LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 			if (!np->ops || !np->ops->lldp_mod_rchange)
+ 				continue;
+ 
+@@ -402,7 +402,7 @@ u8 mibDeleteObjects(struct port *port, struct lldp_agent *agent)
+ {
+ 	struct lldp_module *np;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops || !np->ops->lldp_mod_mibdelete)
+ 			continue;
+ 		np->ops->lldp_mod_mibdelete(port, agent);
+diff --git a/lldp/tx.c b/lldp/tx.c
+index c3a5c62..0746e34 100644
+--- a/lldp/tx.c
++++ b/lldp/tx.c
+@@ -71,7 +71,7 @@ bool mibConstrInfoLLDPDU(struct port *port, struct lldp_agent *agent)
+ 	fb_offset += sizeof(struct l2_ethhdr);
+ 
+ 	/* Generic TLV Pack */
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops || !np->ops->lldp_mod_gettlv)
+ 			continue;
+ 
+@@ -206,7 +206,7 @@ bool mibConstrShutdownLLDPDU(struct port *port, struct lldp_agent *agent)
+ 	memcpy(agent->tx.frameout, (void *)&eth, sizeof(struct l2_ethhdr));
+ 	fb_offset += sizeof(struct l2_ethhdr);
+ 
+-	np = find_module_by_id(&lldp_head, LLDP_MOD_MAND);
++	np = find_module_by_id(&lldp_mod_head, LLDP_MOD_MAND);
+ 	if (!np)
+ 		goto error;
+ 	if (!np->ops || !np->ops->lldp_mod_gettlv)
+diff --git a/lldp_dcbx.c b/lldp_dcbx.c
+index 7e53c0f..809086f 100644
+--- a/lldp_dcbx.c
++++ b/lldp_dcbx.c
+@@ -129,7 +129,7 @@ struct dcbx_tlvs *dcbx_data(const char *ifname)
+ 	struct dcbd_user_data *dud;
+ 	struct dcbx_tlvs *tlv = NULL;
+ 
+-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
++	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
+ 	if (dud) {
+ 		LIST_FOREACH(tlv, &dud->head, entry) {
+ 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
+@@ -148,7 +148,7 @@ int dcbx_tlvs_rxed(const char *ifname, struct lldp_agent *agent)
+ 	if (agent->type != NEAREST_BRIDGE)
+ 		return 0;
+ 
+-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
++	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
+ 	if (dud) {
+ 		LIST_FOREACH(tlv, &dud->head, entry) {
+ 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
+@@ -172,7 +172,7 @@ int dcbx_check_active(const char *ifname)
+ 	struct dcbd_user_data *dud;
+ 	struct dcbx_tlvs *tlv = NULL;
+ 
+-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
++	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
+ 	if (dud) {
+ 		LIST_FOREACH(tlv, &dud->head, entry) {
+ 			if (!strncmp(tlv->ifname, ifname, IFNAMSIZ))
+@@ -507,7 +507,7 @@ void dcbx_ifup(char *ifname, struct lldp_agent *agent)
+ 	ifindex = get_ifidx(ifname);
+ 	port = port_find_by_ifindex(ifindex);
+ 
+-	dud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_DCBX);
++	dud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_DCBX);
+ 	tlvs = dcbx_data(ifname);
+ 
+ 	if (!port)
+diff --git a/lldp_mand_cmds.c b/lldp_mand_cmds.c
+index 8a88177..1c43bf4 100644
+--- a/lldp_mand_cmds.c
++++ b/lldp_mand_cmds.c
+@@ -466,7 +466,7 @@ int handle_get_args(struct cmd *cmd, UNUSED char *arg, char *argvalue,
+ 	nbuf = obuf;
+ 	nbuf_len = obuf_len;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops->get_arg_handler)
+ 			continue;
+ 		if (!(ah = np->ops->get_arg_handler()))
+@@ -496,7 +496,7 @@ int handle_get_arg(struct cmd *cmd, char *arg, char *argvalue,
+ 	struct arg_handlers *ah;
+ 	int rval, status = cmd_not_applicable;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops->get_arg_handler)
+ 			continue;
+ 		if (!(ah = np->ops->get_arg_handler()))
+@@ -593,7 +593,7 @@ int handle_test_arg(struct cmd *cmd, char *arg, char *argvalue,
+ 	struct arg_handlers *ah;
+ 	int rval, status = cmd_not_applicable;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops->get_arg_handler)
+ 			continue;
+ 		if (!(ah = np->ops->get_arg_handler()))
+@@ -626,7 +626,7 @@ int handle_set_arg(struct cmd *cmd, char *arg, char *argvalue,
+ 	struct arg_handlers *ah;
+ 	int rval, status = cmd_not_applicable;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (!np->ops->get_arg_handler)
+ 			continue;
+ 		if (!(ah = np->ops->get_arg_handler()))
+diff --git a/lldpad.c b/lldpad.c
+index 01fb588..65e92c7 100644
+--- a/lldpad.c
++++ b/lldpad.c
+@@ -80,6 +80,8 @@ struct lldp_module *(*register_tlv_table[])(void) = {
+ 	NULL,
+ };
+ 
++struct lldp_head lldp_mod_head;
++
+ char *cfg_file_name = NULL;
+ bool daemonize = 0;
+ int loglvl = LOG_WARNING;
+@@ -98,7 +100,7 @@ static void init_modules(void)
+ 	struct lldp_module *premod = NULL;
+ 	int i = 0;
+ 
+-	LIST_INIT(&lldp_head);
++	LIST_INIT(&lldp_mod_head);
+ 	for (i = 0; register_tlv_table[i]; i++) {
+ 		module = register_tlv_table[i]();
+ 		if (!module)
+@@ -106,7 +108,7 @@ static void init_modules(void)
+ 		if (premod)
+ 			LIST_INSERT_AFTER(premod, module, lldp);
+ 		else
+-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
++			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
+ 		premod = module;
+ 	}
+ }
+@@ -115,9 +117,9 @@ void deinit_modules(void)
+ {
+ 	struct lldp_module *module;
+ 
+-	while (lldp_head.lh_first != NULL) {
+-		module = lldp_head.lh_first;
+-		LIST_REMOVE(lldp_head.lh_first, lldp);
++	while (lldp_mod_head.lh_first != NULL) {
++		module = lldp_mod_head.lh_first;
++		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
+ 		module->ops->lldp_mod_unregister(module);
+ 	}
+ }
+diff --git a/lldptool.c b/lldptool.c
+index 2b14f61..664a248 100644
+--- a/lldptool.c
++++ b/lldptool.c
+@@ -64,6 +64,8 @@
+ #include "lldp_util.h"
+ #include "lldpad_status.h"
+ 
++struct lldp_head lldp_mod_head;
++
+ static int show_raw;
+ 
+ static const char *cli_version =
+@@ -199,7 +201,7 @@ static void init_modules(void)
+ 		if (premod)
+ 			LIST_INSERT_AFTER(premod, module, lldp);
+ 		else
+-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
++			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
+ 		premod = module;
+ 	}
+ }
+@@ -208,9 +210,9 @@ void deinit_modules(void)
+ {
+ 	struct lldp_module *module;
+ 
+-	while (lldp_head.lh_first != NULL) {
+-		module = lldp_head.lh_first;
+-		LIST_REMOVE(lldp_head.lh_first, lldp);
++	while (lldp_mod_head.lh_first != NULL) {
++		module = lldp_mod_head.lh_first;
++		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
+ 		module->ops->lldp_mod_unregister(module);
+ 	}
+ }
+@@ -346,7 +348,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[],
+ 	printf("%s\n%s\n%s", commands_usage, commands_options, commands_help);
+ 
+ 	printf("\nTLV identifiers:\n");
+-	LIST_FOREACH(np, &lldp_head, lldp)
++	LIST_FOREACH(np, &lldp_mod_head, lldp)
+ 		if (np->ops->print_help)
+ 			np->ops->print_help();
+ 	return 0;
+@@ -406,7 +408,7 @@ u32 lookup_tlvid(char *tlvid_str)
+ 	struct lldp_module *np;
+ 	u32 tlvid = INVALID_TLVID;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (np->ops->lookup_tlv_name) {
+ 			tlvid = np->ops->lookup_tlv_name(tlvid_str);
+ 			if (tlvid != INVALID_TLVID)
+diff --git a/lldptool_cmds.c b/lldptool_cmds.c
+index daef8c8..70b7b0d 100644
+--- a/lldptool_cmds.c
++++ b/lldptool_cmds.c
+@@ -464,7 +464,7 @@ static void print_tlvs(struct cmd *cmd, char *ibuf)
+ 			offset += 8;
+ 		
+ 		printed = 0;
+-		LIST_FOREACH(np, &lldp_head, lldp) {
++		LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 			if (np->ops->print_tlv(tlvid, tlv_len, ibuf+offset)) {
+ 					printed = 1;
+ 					break;
+diff --git a/qbg/ecp22.c b/qbg/ecp22.c
+index 6561d14..825392b 100644
+--- a/qbg/ecp22.c
++++ b/qbg/ecp22.c
+@@ -774,7 +774,7 @@ void ecp22_start(char *ifname)
+ 	struct ecp22 *ecp;
+ 
+ 	LLDPAD_DBG("%s:%s start ecp\n", __func__, ifname);
+-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
++	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
+ 	if (!eud) {
+ 		LLDPAD_DBG("%s:%s no ECP module\n", __func__, ifname);
+ 		return;
+@@ -837,7 +837,7 @@ void ecp22_stop(char *ifname)
+ 	struct ecp22 *ecp;
+ 
+ 	LLDPAD_DBG("%s:%s stop ecp\n", __func__, ifname);
+-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
++	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
+ 	ecp = find_ecpdata(ifname, eud);
+ 	if (ecp)
+ 		ecp22_remove(ecp);
+@@ -852,7 +852,7 @@ static int ecp22_data_from_evb(char *ifname, struct evb22_to_ecp22 *ptr)
+ 	struct ecp22_user_data *eud;
+ 	struct ecp22 *ecp;
+ 
+-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
++	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
+ 	ecp = find_ecpdata(ifname, eud);
+ 	if (ecp) {
+ 		ecp->max_rte = ptr->max_rte;
+@@ -930,7 +930,7 @@ static int ecp22_req2send(char *ifname, unsigned short subtype,
+ 
+ 	LLDPAD_DBG("%s:%s subtype:%d\n", __func__, ifname, subtype);
+ 
+-	eud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_ECP22);
++	eud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_ECP22);
+ 	ecp = find_ecpdata(ifname, eud);
+ 	if (!ecp) {
+ 		rc = -ENODEV;
+diff --git a/qbg/vdp.c b/qbg/vdp.c
+index d131560..c26bbd6 100644
+--- a/qbg/vdp.c
++++ b/qbg/vdp.c
+@@ -188,7 +188,7 @@ struct vdp_data *vdp_data(char *ifname)
+ 	struct vdp_user_data *ud;
+ 	struct vdp_data *vd = NULL;
+ 
+-	ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02);
++	ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02);
+ 	if (ud) {
+ 		LIST_FOREACH(vd, &ud->head, entry) {
+ 			if (!strncmp(ifname, vd->ifname, IFNAMSIZ))
+@@ -1624,7 +1624,7 @@ void vdp_ifup(char *ifname, struct lldp_agent *agent)
+ 
+ 	LIST_INIT(&vd->profile_head);
+ 
+-	ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP02);
++	ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP02);
+ 	LIST_INSERT_HEAD(&ud->head, vd, entry);
+ 
+ out_start_again:
+diff --git a/qbg/vdp22.c b/qbg/vdp22.c
+index cf02310..81ea3a8 100644
+--- a/qbg/vdp22.c
++++ b/qbg/vdp22.c
+@@ -694,7 +694,7 @@ static struct vdp22 *vdp22_findif(const char *ifname,
+ 	struct vdp22 *vdp = 0;
+ 
+ 	if (!ud) {
+-		ud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
++		ud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
+ 		if (!ud)
+ 			LLDPAD_DBG("%s:%s no VDP22 module\n", __func__,
+ 				   ifname);
+@@ -794,7 +794,7 @@ void vdp22_stop(char *ifname)
+ 	struct vsi22 *vsi;
+ 
+ 	LLDPAD_DBG("%s:%s stop vdp\n", __func__, ifname);
+-	vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
++	vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
+ 	if (!vud) {
+ 		LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname);
+ 		return;
+@@ -874,7 +874,7 @@ void vdp22_start(const char *ifname, int role)
+ 	struct vsi22 *vsi;
+ 
+ 	LLDPAD_DBG("%s:%s start vdp\n", __func__, ifname);
+-	vud = find_module_user_data_by_id(&lldp_head, LLDP_MOD_VDP22);
++	vud = find_module_user_data_by_id(&lldp_mod_head, LLDP_MOD_VDP22);
+ 	if (!vud) {
+ 		LLDPAD_ERR("%s:%s no VDP22 module\n", __func__, ifname);
+ 		return;
+diff --git a/qbg/vdp22_cmds.c b/qbg/vdp22_cmds.c
+index 2e1bbbd..a8025ee 100644
+--- a/qbg/vdp22_cmds.c
++++ b/qbg/vdp22_cmds.c
+@@ -57,7 +57,7 @@ static struct lldp_module *get_my_module(int thisid)
+ {
+ 	struct lldp_module *np = NULL;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp)
++	LIST_FOREACH(np, &lldp_mod_head, lldp)
+ 		if (thisid == np->id)
+ 			break;
+ 	return np;
+diff --git a/vdptool.c b/vdptool.c
+index 8f36277..f1d946c 100644
+--- a/vdptool.c
++++ b/vdptool.c
+@@ -61,6 +61,8 @@
+ #define OUI_ENCODE_HNDLR(name) name##_oui_encode_hndlr
+ #define OUI_PRNT_DECODE_HNDLR(name) name##_oui_print_decode_hndlr
+ 
++struct lldp_head lldp_mod_head;
++
+ #define EXTERN_OUI_FN(name) \
+ 	extern bool name##_oui_encode_hndlr(char *, char *, size_t); \
+ 	extern void name##_oui_print_decode_hndlr(char *)
+@@ -796,13 +798,13 @@ static void init_modules(void)
+ 	struct lldp_module *premod = NULL;
+ 	int i = 0;
+ 
+-	LIST_INIT(&lldp_head);
++	LIST_INIT(&lldp_mod_head);
+ 	for (i = 0; register_tlv_table[i]; i++) {
+ 		module = register_tlv_table[i]();
+ 		if (premod)
+ 			LIST_INSERT_AFTER(premod, module, lldp);
+ 		else
+-			LIST_INSERT_HEAD(&lldp_head, module, lldp);
++			LIST_INSERT_HEAD(&lldp_mod_head, module, lldp);
+ 		premod = module;
+ 	}
+ }
+@@ -811,9 +813,9 @@ void deinit_modules(void)
+ {
+ 	struct lldp_module *module;
+ 
+-	while (lldp_head.lh_first != NULL) {
+-		module = lldp_head.lh_first;
+-		LIST_REMOVE(lldp_head.lh_first, lldp);
++	while (lldp_mod_head.lh_first != NULL) {
++		module = lldp_mod_head.lh_first;
++		LIST_REMOVE(lldp_mod_head.lh_first, lldp);
+ 		module->ops->lldp_mod_unregister(module);
+ 	}
+ }
+@@ -953,7 +955,7 @@ cli_cmd_help(UNUSED struct clif *clif, UNUSED int argc, UNUSED char *argv[],
+ 	printf("%s\n%s\n%s", commands_usage, commands_options, commands_help);
+ 
+ 	printf("\nTLV identifiers:\n");
+-	LIST_FOREACH(np, &lldp_head, lldp)
++	LIST_FOREACH(np, &lldp_mod_head, lldp)
+ 		if (np->ops->print_help)
+ 			np->ops->print_help();
+ 	return 0;
+@@ -1006,7 +1008,7 @@ u32 lookup_tlvid(char *tlvid_str)
+ 	struct lldp_module *np;
+ 	u32 tlvid = INVALID_TLVID;
+ 
+-	LIST_FOREACH(np, &lldp_head, lldp) {
++	LIST_FOREACH(np, &lldp_mod_head, lldp) {
+ 		if (np->ops->lookup_tlv_name) {
+ 			tlvid = np->ops->lookup_tlv_name(tlvid_str);
+ 			if (tlvid != INVALID_TLVID)
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch
new file mode 100644
index 0000000..4d0594c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch
@@ -0,0 +1,49 @@
+From 702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:14:50 -0400
+Subject: [PATCH 3/9] lldp: add packed struct definition
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ include/lldp.h   | 6 ++++++
+ lldp/l2_packet.h | 5 ++---
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/include/lldp.h b/include/lldp.h
+index fb5ee93..de6a4ad 100644
+--- a/include/lldp.h
++++ b/include/lldp.h
+@@ -255,5 +255,11 @@ enum {
+ #define LLDP_EVB_DEFAULT_RTE				15
+ #define LLDP_EVB_DEFAULT_MAX_RTE			31
+ 
++#ifndef _MSC_VER
++#define STRUCT_PACKED(STRUCT) STRUCT __attribute__((__packed__))
++#else
++#define STRUCT_PACKED(STRUCT) __pragma(pack(push, 1)) STRUCT __pragma(pack(pop))
++#endif
++
+ void somethingChangedLocal(const char *ifname, int type);
+ #endif /* _LLDP_H */
+diff --git a/lldp/l2_packet.h b/lldp/l2_packet.h
+index 607b8a3..831958c 100644
+--- a/lldp/l2_packet.h
++++ b/lldp/l2_packet.h
+@@ -58,12 +58,11 @@
+  */
+ struct l2_packet_data;
+ 
+-
+-struct l2_ethhdr {
++STRUCT_PACKED(struct l2_ethhdr {
+ 	u8 h_dest[ETH_ALEN];
+ 	u8 h_source[ETH_ALEN];
+ 	u16 h_proto;
+-} STRUCT_PACKED;
++});
+ 
+ /**
+  * l2_packet_init - Initialize l2_packet interface
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch
new file mode 100644
index 0000000..16b7def
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch
@@ -0,0 +1,41 @@
+From 8229f4fb700ba4fcb2ec3e9956491bf5ee8c0ae2 Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:17:31 -0400
+Subject: [PATCH 4/9] lldptool: make extern
+
+This should only exist per final linked object.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ include/lldptool.h | 2 +-
+ lldptool.c         | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/lldptool.h b/include/lldptool.h
+index c919873..a190009 100644
+--- a/include/lldptool.h
++++ b/include/lldptool.h
+@@ -29,7 +29,7 @@
+ 
+ #include "clif.h"
+ 
+-struct lldp_head lldp_cli_head;
++extern struct lldp_head lldp_cli_head;
+ 
+ int clif_command(struct clif *clif, char *cmd, int raw);
+ void print_raw_message(char *msg, int print);
+diff --git a/lldptool.c b/lldptool.c
+index 664a248..d76cc48 100644
+--- a/lldptool.c
++++ b/lldptool.c
+@@ -64,6 +64,7 @@
+ #include "lldp_util.h"
+ #include "lldpad_status.h"
+ 
++struct lldp_head lldp_cli_head;
+ struct lldp_head lldp_mod_head;
+ 
+ static int show_raw;
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch
new file mode 100644
index 0000000..4bdc5f2
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch
@@ -0,0 +1,28 @@
+From 9203dec731e53fb72e1c0d62639e6e54378f66cc Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:20:59 -0400
+Subject: [PATCH 5/9] cisco_oui: match encode handler prototypes
+
+The EXTERN_FN prototype generated requires size_t be the third parameter.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ vdptool_cisco_oui.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vdptool_cisco_oui.c b/vdptool_cisco_oui.c
+index 7003521..3f88c76 100644
+--- a/vdptool_cisco_oui.c
++++ b/vdptool_cisco_oui.c
+@@ -28,7 +28,7 @@
+ #include "lldp_util.h"
+ #include "vdp_cisco.h"
+ 
+-bool cisco_oui_encode_hndlr(char *dst, char *src, int len)
++bool cisco_oui_encode_hndlr(char *dst, char *src, size_t len)
+ {
+ 	char *src_temp = strdup(src);
+ 	char *key, *data;
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch
new file mode 100644
index 0000000..2b0289d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch
@@ -0,0 +1,33 @@
+From 2723219c08726efa08a6bad04ffb775f850a96bc Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:23:28 -0400
+Subject: [PATCH 6/9] ecp22: make enum a type rather than instance
+
+The enum defined in the qbg header is setup as a discreet instance
+rather than a type.  Fix this.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ include/qbg_ecp22.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/qbg_ecp22.h b/include/qbg_ecp22.h
+index 567f6df..fe66bb3 100644
+--- a/include/qbg_ecp22.h
++++ b/include/qbg_ecp22.h
+@@ -49,10 +49,10 @@ enum {					/* ECP Transmit states */
+ 	ECP22_TX_ERROR
+ };
+ 
+-enum {
++enum ecp22_mode {
+ 	ECP22_REQUEST = 0,
+ 	ECP22_ACK
+-} ecp22_mode;
++};
+ 
+ struct ecp22_hdr {		/* ECP22 header */
+ 	u16 ver_op_sub;		/* ECP22 version, operation, subtype */
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch
new file mode 100644
index 0000000..36b575c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch
@@ -0,0 +1,29 @@
+From 275fe9da663193a843de450f03e810daedc06955 Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:25:38 -0400
+Subject: [PATCH 7/9] lldp_8021qaz: extern config object
+
+The config object only exists as part of the config translation unit
+so remove the extra config object in the 8021qaz module.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ lldp_8021qaz.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c
+index a42fd11..673d758 100644
+--- a/lldp_8021qaz.c
++++ b/lldp_8021qaz.c
+@@ -49,7 +49,7 @@
+ 
+ 
+ struct lldp_head lldp_head;
+-struct config_t lldpad_cfg;
++extern config_t lldpad_cfg;
+ extern bool read_only_8021qaz;
+ 
+ static int ieee8021qaz_check_pending(struct port *port, struct lldp_agent *);
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch
new file mode 100644
index 0000000..501b666
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch
@@ -0,0 +1,61 @@
+From 61291de03cb6dd1aea2a633eb72951f3fe453e7f Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Mon, 3 Aug 2020 15:33:08 -0400
+Subject: [PATCH 8/9] stringops: fix some string copy errors
+
+Reported when using gcc-10.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ dcb_protocol.c | 13 ++++---------
+ lldp/ports.c   |  2 +-
+ 2 files changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/dcb_protocol.c b/dcb_protocol.c
+index 75ca139..930251b 100644
+--- a/dcb_protocol.c
++++ b/dcb_protocol.c
+@@ -2257,13 +2257,8 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name)
+ 
+ 	if ((it != NULL) &&
+ 		(bwgid < it->second->max_pgid_desc)) {
+-		size = (int)strlen(it->second->pgid_desc[bwgid]) +
+-			sizeof(char);  /* Localization OK */
+-		*name = (char*)malloc(size);
+-		if (*name != NULL) {
+-			strncpy(*name, it->second->pgid_desc[bwgid],
+-					size); /* Localization OK */
+-		} else {
++		*name = strdup(it->second->pgid_desc[bwgid]);
++		if (*name == NULL) {
+ 			goto Error;
+ 		}
+ 	} else {
+@@ -2272,9 +2267,9 @@ cmd_status get_bwg_descrpt(char *device_name, u8 bwgid, char **name)
+ 			size = (int)strlen(
+ 				attribs.descript.pgid_desc[bwgid]) +
+ 				sizeof(char);
+-			*name = (char*)malloc(size);
++			*name = (char*)calloc(size, sizeof(char));
+ 			if (*name != NULL) {
+-				memcpy(*name, attribs.descript.pgid_desc[bwgid], size); /* Localization OK */
++				memcpy(*name, attribs.descript.pgid_desc[bwgid], size - 1); /* Localization OK */
+ 			} else {
+ 				goto Error;
+ 			}
+diff --git a/lldp/ports.c b/lldp/ports.c
+index 6384f14..9b681f7 100644
+--- a/lldp/ports.c
++++ b/lldp/ports.c
+@@ -264,7 +264,7 @@ struct port *add_port(int ifindex, const char *ifname)
+ 	memset(newport, 0, sizeof(*newport));
+ 	newport->ifindex = ifindex;
+ 	newport->next = NULL;
+-	strncpy(newport->ifname, ifname, IFNAMSIZ);
++	strncpy(newport->ifname, ifname, IFNAMSIZ - 1);
+ 
+ 	newport->bond_master = is_bond(ifname);
+ 	/* Initialize relevant port variables */
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch
new file mode 100644
index 0000000..0f84426
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch
@@ -0,0 +1,39 @@
+From 7ae79b0dff53a23fa0a964f77b9e3bb387a293c4 Mon Sep 17 00:00:00 2001
+From: Aaron Conole <aconole@redhat.com>
+Date: Tue, 4 Aug 2020 09:17:50 -0400
+Subject: [PATCH 9/9] 8021qaz: mark prio map functions static
+
+Inline is not the correct way to mark a function for inclusion
+in a single translation unit.  Use 'static' to restrict export
+of these functions.
+
+Signed-off-by: Aaron Conole <aconole@redhat.com>
+---
+ lldp_8021qaz.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c
+index 673d758..16ae167 100644
+--- a/lldp_8021qaz.c
++++ b/lldp_8021qaz.c
+@@ -397,7 +397,7 @@ static int read_cfg_file(char *ifname, struct lldp_agent *agent,
+ 	return 0;
+ }
+ 
+-inline int get_prio_map(u32 prio_map, int prio)
++static int get_prio_map(u32 prio_map, int prio)
+ {
+ 	if (prio > 7)
+ 		return 0;
+@@ -405,7 +405,7 @@ inline int get_prio_map(u32 prio_map, int prio)
+ 	return (prio_map >> (4 * (7-prio))) & 0xF;
+ }
+ 
+-inline void set_prio_map(u32 *prio_map, u8 prio, int tc)
++static void set_prio_map(u32 *prio_map, u8 prio, int tc)
+ {
+ 	u32 mask = ~(0xffffffff & (0xF << (4 * (7-prio))));
+ 	*prio_map &= mask;
+-- 
+2.28.0
+