From bffdb3e0d00e91bc943c2cc8d73cd5d0cd510fa5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 21 Aug 2020 16:13:29 -0500 Subject: meta-openembedded: subtree update:76b83194b3..ae39f2e711 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Change-Id: I003021e0f4c267f79eedf704c43fbb6fdcdaf8b8 --- .../files/0001-cmds-fix-enum-conversion.patch | 91 ++++ .../0002-lldp_head-rename-and-make-extern.patch | 500 +++++++++++++++++++++ .../0003-lldp-add-packed-struct-definition.patch | 49 ++ .../openlldp/files/0004-lldptool-make-extern.patch | 41 ++ ...cisco_oui-match-encode-handler-prototypes.patch | 28 ++ ...p22-make-enum-a-type-rather-than-instance.patch | 33 ++ .../0007-lldp_8021qaz-extern-config-object.patch | 29 ++ ...008-stringops-fix-some-string-copy-errors.patch | 61 +++ ...09-8021qaz-mark-prio-map-functions-static.patch | 39 ++ .../recipes-protocols/openlldp/openlldp_1.0.1.bb | 12 +- .../recipes-protocols/quagga/quagga.inc | 2 + 11 files changed, 884 insertions(+), 1 deletion(-) create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-cmds-fix-enum-conversion.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0002-lldp_head-rename-and-make-extern.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0003-lldp-add-packed-struct-definition.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0004-lldptool-make-extern.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0005-cisco_oui-match-encode-handler-prototypes.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0006-ecp22-make-enum-a-type-rather-than-instance.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0007-lldp_8021qaz-extern-config-object.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0008-stringops-fix-some-string-copy-errors.patch create mode 100644 meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0009-8021qaz-mark-prio-map-functions-static.patch (limited to 'meta-openembedded/meta-networking/recipes-protocols') 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 000000000..680f6b67d --- /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 +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 +--- + 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 000000000..8f65b799f --- /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 +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 +--- + 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 *)ð, 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 000000000..4d0594cb6 --- /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 +Date: Mon, 3 Aug 2020 15:14:50 -0400 +Subject: [PATCH 3/9] lldp: add packed struct definition + +Signed-off-by: Aaron Conole +--- + 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 000000000..16b7def68 --- /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 +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 +--- + 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 000000000..4bdc5f2f6 --- /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 +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 +--- + 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 000000000..2b0289df2 --- /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 +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 +--- + 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 000000000..36b575c56 --- /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 +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 +--- + 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 000000000..501b66699 --- /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 +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 +--- + 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 000000000..0f84426f9 --- /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 +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 +--- + 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 + diff --git a/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb index 5fbf0645e..d8a0d6913 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb @@ -12,11 +12,21 @@ inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} DEPENDS = "libnl libconfig readline" -SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c" +SRCREV = "b71bfb87fefb31c4b1a6a7ae351791c90966c3a8" +PV .= "+git${SRCPV}" SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \ file://0001-Fix-musl-libc-build-issue.patch \ file://0001-autotools-Add-include-path-to-generated-version.h.patch \ file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \ + file://0001-cmds-fix-enum-conversion.patch \ + file://0002-lldp_head-rename-and-make-extern.patch \ + file://0003-lldp-add-packed-struct-definition.patch \ + file://0004-lldptool-make-extern.patch \ + file://0005-cisco_oui-match-encode-handler-prototypes.patch \ + file://0006-ecp22-make-enum-a-type-rather-than-instance.patch \ + file://0007-lldp_8021qaz-extern-config-object.patch \ + file://0008-stringops-fix-some-string-copy-errors.patch \ + file://0009-8021qaz-mark-prio-map-functions-static.patch \ " # Makefile.am adds -Werror to AM_CFLAGS. There are warnings so disable it. diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc index 134a33d47..70c32b7a4 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc @@ -42,6 +42,8 @@ PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" inherit autotools update-rc.d useradd systemd pkgconfig multilib_header +CFLAGS += "-fcommon" + SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" SYSTEMD_SERVICE_${PN}-isisd = "isisd.service" -- cgit v1.2.3