lldpd: update for stx 5.0 64/8164/1
authorJackie Huang <jackie.huang@windriver.com>
Fri, 4 Jun 2021 09:49:02 +0000 (17:49 +0800)
committerJackie Huang <jackie.huang@windriver.com>
Thu, 5 May 2022 14:36:04 +0000 (22:36 +0800)
* inherit stx-metadata to help apply patches and
  install files from stx 'integ' repo

* remove the local copy of stx files and patches

Issue-ID: INF-215

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I8e768c889caa4907818f95cdb3ac007cd337f2e8

meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init [deleted file]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/lldpd_0.9.0.bb

diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh
deleted file mode 100644 (file)
index 4a5e8a4..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/bash
-################################################################################
-# Copyright (c) 2016 Wind River Systems, Inc.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-################################################################################
-
-# Certain i40e network devices (XL710 Fortville) have an internal firmware LLDP
-# agent enabled by default. This can prevent LLDP PDUs from being processed by
-# the driver and any upper layer agents.
-#
-# This script allows a user to enable and disable the internal LLDP agent.
-#
-# Note: debugfs must be enabled in the kernel
-#
-# To enable:
-# ./i40e-lldp-configure.sh start
-#
-# To disable:
-# ./i40e-lldp-configure.sh stop
-
-PROGNAME=$(basename $0)
-DEBUGFS_PATH=/sys/kernel/debug
-DEBUGFS_I40_DEVICES_PATH=$DEBUGFS_PATH/i40e
-LLDP_COMMAND=lldp
-
-function log {
-    local MSG="${PROGNAME}: $1"
-    logger -p notice "${MSG}"
-}
-
-function err {
-    local MSG="${PROGNAME}: $1"
-    logger -p error "${MSG}"
-}
-
-function configure_device {
-    local DEVICE=$1
-    local ACTION=$2
-    local DEVICE_PATH=${DEBUGFS_I40_DEVICES}/${DEVICE}
-
-    if [ ! -d ${DEVICE_PATH} ]; then
-        return 1
-    fi
-
-    echo "${LLDP_COMMAND} ${ACTION}" > ${DEVICE_PATH}/command
-    RET=$?
-
-    if [ ${RET} -ne 0 ]; then
-        err "Failed to ${ACTION} internal LLDP agent for device ${DEVICE}"
-        return ${RET}
-    fi
-
-    log "${ACTION} internal LLDP agent for device ${DEVICE}"
-    return ${RET}
-}
-
-function is_debugfs_mounted {
-    if grep -qs "${DEBUGFS_PATH}" /proc/mounts; then
-    return 0
-    fi
-    return 1
-}
-
-function mount_debugfs {
-    mount -t debugfs none ${DEBUGFS_PATH}
-}
-
-function unmount_debugfs {
-    umount ${DEBUGFS_PATH}
-}
-
-function scan_devices {
-    local ACTION=$1
-    local DEBUGFS_MOUNTED="false"
-    local DEVICES=${DEBUGFS_I40_DEVICES_PATH}/*
-
-    if is_debugfs_mounted; then
-        DEBUGFS_MOUNTED="true"
-    fi
-
-    if [ ${DEBUGFS_MOUNTED} = "false" ]; then
-        mount_debugfs
-        RET=$?
-        if [ ${RET} -ne 0 ]; then
-            err "Failed to mount debugfs"
-            return ${RET}
-        fi
-        log "Mounted debugfs"
-    fi
-
-    for DEVICE in $DEVICES; do
-        configure_device ${DEVICE} ${ACTION}
-    done
-
-    if [ ${DEBUGFS_MOUNTED} = "false" ]; then
-        unmount_debugfs
-        RET=$?
-        if [ ${RET} -ne 0 ]; then
-            err "Failed to unmount debugfs"
-            return ${RET}
-        fi
-        log "Unmounted debugfs"
-    fi
-
-    return 0
-}
-
-function start {
-    scan_devices start
-    return $?
-}
-
-function stop {
-    scan_devices stop
-    return $?
-}
-
-function status {
-    return 0
-}
-
-case "$1" in
-    start)
-        start
-        ;;
-    stop)
-        stop
-        ;;
-    restart)
-        stop
-        start
-        ;;
-    status)
-        status
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|restart|status}"
-        exit 1
-esac
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch
deleted file mode 100644 (file)
index 6ab09f0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From b2ed14edc66c7876cd9239a346b92630403e996c Mon Sep 17 00:00:00 2001
-From: Steven Webster <steven.webster@windriver.com>
-Date: Sun, 18 Jun 2017 22:23:49 -0400
-Subject: [PATCH 1/1] Clear station bit if any other capability is enabled
-
----
- src/daemon/interfaces.c | 2 ++
- src/daemon/lldpd.c      | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c
-index ec81721..4923049 100644
---- a/src/daemon/interfaces.c
-+++ b/src/daemon/interfaces.c
-@@ -309,6 +309,8 @@ interfaces_helper_chassis(struct lldpd *cfg,
-       if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
-               (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
-           LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
-+      else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
-+          LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
-       if (LOCAL_CHASSIS(cfg)->c_id != NULL &&
-           LOCAL_CHASSIS(cfg)->c_id_subtype == LLDP_CHASSISID_SUBTYPE_LLADDR)
-diff --git a/src/daemon/lldpd.c b/src/daemon/lldpd.c
-index c815705..dac633f 100644
---- a/src/daemon/lldpd.c
-+++ b/src/daemon/lldpd.c
-@@ -1152,6 +1152,8 @@ lldpd_update_localchassis(struct lldpd *cfg)
-       if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
-               (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
-               LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
-+      else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
-+              LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
-       /* Set chassis ID if needed. This is only done if chassis ID
-          has not been set previously (with the MAC address of an
--- 
-1.8.3.1
-
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch
deleted file mode 100644 (file)
index a4e9d00..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: lldpd-0.9.0/src/daemon/lldpd.service.in
-===================================================================
---- lldpd-0.9.0.orig/src/daemon/lldpd.service.in
-+++ lldpd-0.9.0/src/daemon/lldpd.service.in
-@@ -9,6 +9,7 @@ Type=notify
- NotifyAccess=main
- EnvironmentFile=-/etc/default/lldpd
- EnvironmentFile=-/etc/sysconfig/lldpd
-+ExecStartPre=/bin/mkdir -p /var/run/lldpd
- ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
- Restart=on-failure
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch
deleted file mode 100644 (file)
index 1262e94..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: lldpd-0.9.0/src/daemon/lldpd.service.in
-===================================================================
---- lldpd-0.9.0.orig/src/daemon/lldpd.service.in
-+++ lldpd-0.9.0/src/daemon/lldpd.service.in
-@@ -10,6 +10,7 @@
- EnvironmentFile=-/etc/default/lldpd
- EnvironmentFile=-/etc/sysconfig/lldpd
- ExecStartPre=/bin/mkdir -p /var/run/lldpd
-+ExecStartPre=/etc/init.d/i40e-lldp-configure.sh stop
- ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
- Restart=on-failure
\ No newline at end of file
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch
deleted file mode 100644 (file)
index 8fb52a0..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
----
- src/client/client.h  |    2 +
- src/client/display.c |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++-
- src/client/show.c    |   44 ++++++++++++++++++++++++++++++++++++++
- src/lib/atoms/port.c |    7 ++++++
- src/lib/lldpctl.h    |    1 
- 5 files changed, 112 insertions(+), 1 deletion(-)
-
---- a/src/client/client.h
-+++ b/src/client/client.h
-@@ -115,6 +115,8 @@ char*  totag(const char *);
- #define DISPLAY_DETAILS 3
- void display_interfaces(lldpctl_conn_t *, struct writer *,
-     struct cmd_env *, int, int);
-+void display_local_interfaces(lldpctl_conn_t *, struct writer *,
-+    struct cmd_env *, int, int);
- void display_interface(lldpctl_conn_t *, struct writer *, int,
-     lldpctl_atom_t *, lldpctl_atom_t *, int, int);
- void display_local_chassis(lldpctl_conn_t *, struct writer *,
---- a/src/client/display.c
-+++ b/src/client/display.c
-@@ -344,12 +344,23 @@ display_port(struct writer *w, lldpctl_a
-       tag_datatag(w, "descr", "PortDescr",
-           lldpctl_atom_get_str(port, lldpctl_k_port_descr));
-+      tag_datatag(w, "ttl", "Ttl",
-+          lldpctl_atom_get_str(port, lldpctl_k_port_ttl));
-+
-       /* Dot3 */
-       if (details == DISPLAY_DETAILS) {
-               tag_datatag(w, "mfs", "MFS",
-                   lldpctl_atom_get_str(port, lldpctl_k_port_dot3_mfs));
--              tag_datatag(w, "aggregation", "Port is aggregated. PortAggregID",
-+
-+              long int lag_id = lldpctl_atom_get_int(port,
-+                  lldpctl_k_port_dot3_aggregid);
-+              tag_start(w, "link-aggregation", "LinkAgg");
-+              tag_attr(w, "supported", "supported", "yes");
-+              tag_attr(w, "enabled", "enabled",
-+                      (lag_id > 0)?"yes":"no");
-+              tag_datatag(w, "aggregation", "PortAggregID",
-                   lldpctl_atom_get_str(port, lldpctl_k_port_dot3_aggregid));
-+              tag_end(w);
-               long int autoneg_support, autoneg_enabled, autoneg_advertised;
-               autoneg_support = lldpctl_atom_get_int(port,
-@@ -663,6 +674,52 @@ display_interfaces(lldpctl_conn_t *conn,
-               lldpctl_atom_dec_ref(port);
-       }
-       tag_end(w);
-+}
-+
-+/**
-+ * Display information about local interfaces.
-+ *
-+ * @param conn       Connection to lldpd.
-+ * @param w          Writer.
-+ * @param hidden     Whatever to show hidden ports.
-+ * @param env        Environment from which we may find the list of ports.
-+ * @param details    Level of details we need (DISPLAY_*).
-+ */
-+void
-+display_local_interfaces(lldpctl_conn_t *conn, struct writer *w,
-+    struct cmd_env *env,
-+    int hidden, int details)
-+{
-+      lldpctl_atom_t *iface;
-+      int protocol = LLDPD_MODE_MAX;
-+      const char *proto_str;
-+
-+      /* user might have specified protocol to filter display results */
-+      proto_str = cmdenv_get(env, "protocol");
-+
-+      if (proto_str) {
-+              log_debug("display", "filter protocol: %s ", proto_str);
-+
-+              protocol = 0;
-+              for (lldpctl_map_t *protocol_map =
-+                       lldpctl_key_get_map(lldpctl_k_port_protocol);
-+                   protocol_map->string;
-+                   protocol_map++) {
-+                      if (!strcasecmp(proto_str, protocol_map->string)) {
-+                              protocol = protocol_map->value;
-+                              break;
-+                      }
-+              }
-+      }
-+
-+      tag_start(w, "lldp", "LLDP interfaces");
-+      while ((iface = cmd_iterate_on_interfaces(conn, env))) {
-+              lldpctl_atom_t *port;
-+              port      = lldpctl_get_port(iface);
-+              display_interface(conn, w, hidden, iface, port, details, protocol);
-+              lldpctl_atom_dec_ref(port);
-+      }
-+      tag_end(w);
- }
- void
---- a/src/client/show.c
-+++ b/src/client/show.c
-@@ -48,6 +48,35 @@ cmd_show_neighbors(struct lldpctl_conn_t
- }
- /**
-+ * Show interfaces.
-+ *
-+ * The environment will contain the following keys:
-+ *  - C{ports} list of ports we want to restrict showing.
-+ *  - C{hidden} if we should show hidden ports.
-+ *  - C{summary} if we want to show only a summary
-+ *  - C{detailed} for a detailed overview
-+ */
-+static int
-+cmd_show_interfaces(struct lldpctl_conn_t *conn, struct writer *w,
-+    struct cmd_env *env, void *arg)
-+{
-+      log_debug("lldpctl", "show interfaces data (%s) %s hidden interfaces",
-+          cmdenv_get(env, "summary")?"summary":
-+          cmdenv_get(env, "detailed")?"detailed":
-+          "normal", cmdenv_get(env, "hidden")?"with":"without");
-+      if (cmdenv_get(env, "ports"))
-+              log_debug("lldpctl", "restrict to the following ports: %s",
-+                  cmdenv_get(env, "ports"));
-+
-+      display_local_interfaces(conn, w, env, !!cmdenv_get(env, "hidden"),
-+          cmdenv_get(env, "summary")?DISPLAY_BRIEF:
-+          cmdenv_get(env, "detailed")?DISPLAY_DETAILS:
-+          DISPLAY_NORMAL);
-+
-+      return 1;
-+}
-+
-+/**
-  * Show chassis.
-  *
-  * The environment will contain the following keys:
-@@ -269,6 +298,12 @@ register_commands_show(struct cmd_node *
-               "Show neighbors data",
-               NULL, NULL, NULL);
-+      struct cmd_node *interfaces = commands_new(
-+              show,
-+              "interfaces",
-+              "Show interfaces data",
-+              NULL, NULL, NULL);
-+
-       struct cmd_node *chassis = commands_new(
-               show,
-               "chassis",
-@@ -289,6 +324,15 @@ register_commands_show(struct cmd_node *
-       register_common_commands(neighbors, 1);
-+      /* Interfaces data */
-+      commands_new(interfaces,
-+          NEWLINE,
-+          "Show interfaces data",
-+          NULL, cmd_show_interfaces, NULL);
-+
-+      cmd_restrict_ports(interfaces);
-+      register_common_commands(interfaces, 0);
-+
-       /* Chassis data */
-       commands_new(chassis,
-           NEWLINE,
---- a/src/lib/atoms/port.c
-+++ b/src/lib/atoms/port.c
-@@ -19,6 +19,7 @@
- #include <stdarg.h>
- #include <string.h>
- #include <arpa/inet.h>
-+#include <time.h>
- #include "lldpctl.h"
- #include "../log.h"
-@@ -544,6 +545,7 @@ _lldpctl_atom_get_int_port(lldpctl_atom_
-           (struct _lldpctl_atom_port_t *)atom;
-       struct lldpd_port     *port     = p->port;
-       struct lldpd_hardware *hardware = p->hardware;
-+      time_t now = time(NULL);
-       /* Local port only */
-       if (hardware != NULL) {
-@@ -585,6 +587,11 @@ _lldpctl_atom_get_int_port(lldpctl_atom_
-               return port->p_id_subtype;
-       case lldpctl_k_port_hidden:
-               return port->p_hidden_in;
-+      case lldpctl_k_port_ttl:
-+              if (port->p_lastupdate > 0)
-+                      return (port->p_chassis->c_ttl - (now - port->p_lastupdate));
-+              else
-+                      return port->p_chassis->c_ttl;
- #ifdef ENABLE_DOT3
-       case lldpctl_k_port_dot3_mfs:
-               if (port->p_mfs > 0)
---- a/src/lib/lldpctl.h
-+++ b/src/lib/lldpctl.h
-@@ -674,6 +674,7 @@ typedef enum {
-       lldpctl_k_port_hidden,     /**< `(I)` Is this port hidden (or should it be displayed?)? */
-       lldpctl_k_port_status,     /**< `(IS,WO)` Operational status of this (local) port */
-       lldpctl_k_port_chassis,    /**< `(A)` Chassis associated to the port */
-+      lldpctl_k_port_ttl,        /**< `(I)` The port ttl. */
-       lldpctl_k_port_dot3_mfs = 1300,    /**< `(I)` MFS */
-       lldpctl_k_port_dot3_aggregid,   /**< `(I)` Port aggregation ID */
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default
deleted file mode 100644 (file)
index 2364c02..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol
-#DAEMON_ARGS="-x -c -s -e"
\ No newline at end of file
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init
deleted file mode 100644 (file)
index c910f0d..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          lldpd
-# Required-Start:    $remote_fs $network $syslog
-# Required-Stop:     $network $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: LLDP daemon
-# Description:       lldpd is a 802.1AB implementation, a L2 network
-#                    discovery protocol. It also supports CDP, EDP and
-#                    various other protocols.
-### END INIT INFO
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="LLDP daemon"
-NAME=lldpd
-DAEMON=/usr/sbin/$NAME
-DAEMON_ARGS=""
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-CHROOT=/var/run/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-# Create the chroot directory if not present
-[ -d "$CHROOT" ] || mkdir -p $CHROOT
-
-# LSB log_* functions
-. /lib/lsb/init-functions
-
-if [ ! -d "$CHROOT" ]; then
-        mkdir -p $CHROOT
-fi
-
-
-do_start()
-{
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
-               || return 1
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-               $DAEMON_ARGS \
-               || return 2
-}
-
-do_stop()
-{
-       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
-       RETVAL="$?"
-       [ "$RETVAL" = 2 ] && return 2
-       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
-       [ "$?" = 2 ] && return 2
-       rm -f $PIDFILE
-       return "$RETVAL"
-}
-
-do_reload() {
-       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
-       return 0
-}
-
-case "$1" in
-  start)
-       [ "$VERBOSE" != no ] && log_begin_msg "Starting $DESC" "$NAME"
-       do_start
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  stop)
-       [ "$VERBOSE" != no ] && log_begin_msg "Stopping $DESC" "$NAME"
-       do_stop
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  reload)
-       log_begin_msg "Reloading $DESC" "$NAME"
-       do_reload
-       log_end_msg $?
-       ;;
-  restart|force-reload)
-       log_begin_msg "Restarting $DESC" "$NAME"
-       do_stop
-       case "$?" in
-         0|1)
-               do_start
-               case "$?" in
-                       0) log_end_msg 0 ;;
-                       1) log_end_msg 1 ;; # Old process is still running
-                       *) log_end_msg 1 ;; # Failed to start
-               esac
-               ;;
-         *)
-               # Failed to stop
-               log_end_msg 1
-               ;;
-       esac
-       ;;
-  status)
-       status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $?
-       ;;
-  *)
-       echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
-       exit 3
-       ;;
-esac
-
-:
\ No newline at end of file
index fd01837..b051159 100644 (file)
@@ -20,35 +20,28 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e
 
 DEPENDS = "libbsd libevent json-c"
 
-
-# Patches pullled from
-# PROTOCOL = "https"
-# BRANCH = "r/stx.3.0"
-# SRCNAME = "integ"
-# SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
-# git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=networking/lldpd 
-
 SRC_URI = "\
     http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
-    file://lldpd-interface-show.patch \
-    file://lldpd-create-run-dir.patch \
-    file://lldpd-i40e-disable.patch \
-    file://lldpd-clear-station.patch \
-    file://i40e-lldp-configure.sh \
-    file://lldpd.init \
-    file://lldpd.default\
     "
 
 SRC_URI[md5sum] = "ed0226129b0c90b3a45c273fe1aba8de"
 SRC_URI[sha256sum] = "300e4a590f7bf21c79d5ff94c2d6a69d0b2c34dbc21e17281496462a04ca80bc"
 
-do_patch_append () {
-    bb.build.exec_func('stx_do_patch', d)
-}
+inherit stx-metadata
+
+STX_REPO = "integ"
+STX_SUBPATH = "networking/lldpd"
+
+SRC_URI_STX = " \
+    file://centos/files/lldpd-create-run-dir.patch \
+    file://centos/files/lldpd-i40e-disable.patch \
+    file://centos/files/lldpd-clear-station.patch \
+    file://${BP}/lldpd-interface-show.patch \
+    "
 
-SOURCE1 = "${WORKDIR}/lldpd.init"
-SOURCE2 = "${WORKDIR}/lldpd.default"
-SOURCE3 = "${WORKDIR}/i40e-lldp-configure.sh"
+SOURCE1 = "${STX_METADATA_PATH}/${BP}/lldpd.init"
+SOURCE2 = "${STX_METADATA_PATH}/${BP}/lldpd.default"
+SOURCE3 = "${STX_METADATA_PATH}/centos/files/i40e-lldp-configure.sh"
 
 DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"