sync to upstream v0.9.46-123-g48a5f38

This commit is contained in:
Chris Leech 2014-10-23 15:37:29 -07:00
parent b4e3f3e5a3
commit 9e5b5a082f
4 changed files with 45894 additions and 351 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,328 +0,0 @@
From 48a5f38778b18d6659a672ccb4640f25c6720827 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 14 May 2014 17:28:07 +0000
Subject: [PATCH 1/1] Move to libnl3
libnl1 is obsolete.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
---
Makefile.am | 6 +-
configure.ac | 4 +-
lldp_8021qaz.c | 112 ++++++++++++++++++++++++++++----------------------------
3 files changed, 61 insertions(+), 61 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index bece6ae..4889d32 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -16,8 +16,8 @@ ACLOCAL_AMFLAGS = -I m4
parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error
## system requires a shared libconfig
-AM_CFLAGS = -Wall -Werror -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS)
-AM_LDFLAGS = $(LIBCONFIG_LIBS)
+AM_CFLAGS = -Wall -Werror -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS)
+AM_LDFLAGS = $(LIBCONFIG_LIBS) $(LIBNL_LIBS)
## header files to be installed, for programs using the client interface to lldpad
lldpad_includedir= ${includedir}/lldpad
@@ -88,7 +88,7 @@ lldptool_SOURCES = lldptool.c lldptool_cmds.c lldp_rtnl.c \
lldp_orgspec_clif.c lldp_cisco_clif.c lldp_evb22_clif.c \
weak_readline.c $(lldpad_include_HEADERS) $(noinst_HEADERS)
lldptool_LDADD = ${srcdir}/liblldp_clif.la
-lldptool_LDFLAGS = -ldl -llldp_clif
+lldptool_LDFLAGS = -ldl -llldp_clif $(LIBNL_LIBS)
if BUILD_DEBUG
nltest_SOURCES = test/nltest.c test/nltest.h
diff --git a/configure.ac b/configure.ac
index c5d72b3..8d65d26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,12 +26,12 @@ then
fi
PKG_CHECK_MODULES([LIBCONFIG], [libconfig >= 1.3.2])
-PKG_CHECK_MODULES([LIBNL], [libnl-1 >= 1.1])
+PKG_CHECK_MODULES([LIBNL], [libnl-3.0 >= 3.2])
AC_SUBST(LIBNL_CFLAGS)
AC_SUBST(LIBNL_LIBS)
-AC_CHECK_LIB(nl, rtnl_link_get_by_name)
+AC_CHECK_LIB(nl3, rtnl_link_get_by_name)
AC_CHECK_FUNCS([alarm])
AC_CHECK_FUNCS([gettimeofday])
diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c
index a8a2e0b..094676d 100644
--- a/lldp_8021qaz.c
+++ b/lldp_8021qaz.c
@@ -424,7 +424,7 @@ int get_dcbx_hw(const char *ifname, __u8 *dcbx)
int err = 0;
struct nlattr *attr;
struct sockaddr_nl dest_addr;
- static struct nl_handle *nlhandle;
+ static struct nl_sock *nlsocket;
struct nl_msg *nlm = NULL;
unsigned char *msg = NULL;
struct nlmsghdr *hdr;
@@ -434,28 +434,28 @@ int get_dcbx_hw(const char *ifname, __u8 *dcbx)
.dcb_pad = 0
};
- if (!nlhandle) {
- nlhandle = nl_handle_alloc();
- if (!nlhandle) {
- LLDPAD_WARN("%s: %s: nl_handle_alloc failed, %s\n",
- __func__, ifname, nl_geterror());
+ if (!nlsocket) {
+ nlsocket = nl_socket_alloc();
+ if (!nlsocket) {
+ LLDPAD_WARN("%s: %s: nl_socket_alloc failed\n",
+ __func__, ifname);
err = -ENOMEM;
goto out;
}
- nl_socket_set_local_port(nlhandle, 0);
+ nl_socket_set_local_port(nlsocket, 0);
}
- err = nl_connect(nlhandle, NETLINK_ROUTE);
+ err = nl_connect(nlsocket, NETLINK_ROUTE);
if (err < 0) {
LLDPAD_WARN("%s: %s nlconnect failed abort get ieee, %s\n",
- __func__, ifname, nl_geterror());
+ __func__, ifname, nl_geterror(err));
goto out;
}
nlm = nlmsg_alloc_simple(RTM_GETDCB, NLM_F_REQUEST);
if (!nlm) {
- LLDPAD_WARN("%s: %s nlmsg_alloc failed abort get ieee, %s\n",
- __func__, ifname, nl_geterror());
+ LLDPAD_WARN("%s: %s nlmsg_alloc failed abort get ieee\n",
+ __func__, ifname);
err = -ENOMEM;
goto out;
}
@@ -472,14 +472,14 @@ int get_dcbx_hw(const char *ifname, __u8 *dcbx)
if (err < 0)
goto out;
- err = nl_send_auto_complete(nlhandle, nlm);
+ err = nl_send_auto_complete(nlsocket, nlm);
if (err <= 0) {
LLDPAD_WARN("%s: %s 802.1Qaz get app attributes failed\n",
__func__, ifname);
goto out;
}
- err = nl_recv(nlhandle, &dest_addr, &msg, NULL);
+ err = nl_recv(nlsocket, &dest_addr, &msg, NULL);
if (err <= 0) {
LLDPAD_WARN("%s: %s: nl_recv returned %d\n", __func__, ifname,
err);
@@ -500,8 +500,8 @@ int get_dcbx_hw(const char *ifname, __u8 *dcbx)
out:
nlmsg_free(nlm);
free(msg);
- if (nlhandle)
- nl_close(nlhandle);
+ if (nlsocket)
+ nl_close(nlsocket);
return err;
}
@@ -790,7 +790,7 @@ static int get_ieee_hw(const char *ifname, struct ieee_ets **ets,
int rem;
int itr = 0;
struct sockaddr_nl dest_addr;
- static struct nl_handle *nlhandle;
+ struct nl_sock *nlsocket = NULL;
struct nl_msg *nlm;
unsigned char *msg = NULL;
struct nlmsghdr *hdr;
@@ -801,20 +801,19 @@ static int get_ieee_hw(const char *ifname, struct ieee_ets **ets,
.dcb_pad = 0
};
- if (!nlhandle) {
- nlhandle = nl_handle_alloc();
- if (!nlhandle) {
- LLDPAD_WARN("%s: %s: nl_handle_alloc failed, %s\n",
- __func__, ifname, nl_geterror());
- *cnt = 0;
- return -ENOMEM;
- }
- nl_socket_set_local_port(nlhandle, 0);
+ nlsocket = nl_socket_alloc();
+ if (!nlsocket) {
+ LLDPAD_WARN("%s: %s: nl_handle_alloc failed\n",
+ __func__, ifname);
+ *cnt = 0;
+ return -ENOMEM;
}
+ nl_socket_set_local_port(nlsocket, 0);
- if (nl_connect(nlhandle, NETLINK_ROUTE) < 0) {
+ err = nl_connect(nlsocket, NETLINK_ROUTE);
+ if (err < 0) {
LLDPAD_WARN("%s: %s nlconnect failed abort get ieee, %s\n",
- __func__, ifname, nl_geterror());
+ __func__, ifname, nl_geterror(err));
goto out1;
}
@@ -836,14 +835,14 @@ static int get_ieee_hw(const char *ifname, struct ieee_ets **ets,
if (err < 0)
goto out;
- err = nl_send_auto_complete(nlhandle, nlm);
+ err = nl_send_auto_complete(nlsocket, nlm);
if (err <= 0) {
LLDPAD_WARN("%s: %s 802.1Qaz get app attributes failed\n",
__func__, ifname);
goto out;
}
- err = nl_recv(nlhandle, &dest_addr, &msg, NULL);
+ err = nl_recv(nlsocket, &dest_addr, &msg, NULL);
if (err <= 0) {
LLDPAD_WARN("%s: %s: nl_recv returned %d\n", __func__, ifname,
err);
@@ -940,7 +939,8 @@ static int get_ieee_hw(const char *ifname, struct ieee_ets **ets,
out:
nlmsg_free(nlm);
free(msg);
- nl_close(nlhandle);
+ nl_close(nlsocket);
+ nl_socket_free(nlsocket);
out1:
*cnt = itr;
return err;
@@ -951,7 +951,7 @@ static int del_ieee_hw(const char *ifname, struct dcb_app *app_data)
int err = 0;
struct nlattr *ieee, *app;
struct sockaddr_nl dest_addr;
- static struct nl_handle *nlhandle;
+ struct nl_sock *nlsocket;
struct nl_msg *nlm;
struct dcbmsg d = {
.dcb_family = AF_UNSPEC,
@@ -959,19 +959,18 @@ static int del_ieee_hw(const char *ifname, struct dcb_app *app_data)
.dcb_pad = 0
};
- if (!nlhandle) {
- nlhandle = nl_handle_alloc();
- if (!nlhandle) {
- LLDPAD_WARN("%s: %s: nl_handle_alloc failed, %s\n",
- __func__, ifname, nl_geterror());
- return -ENOMEM;
- }
- nl_socket_set_local_port(nlhandle, 0);
+ nlsocket = nl_socket_alloc();
+ if (!nlsocket) {
+ LLDPAD_WARN("%s: %s: nl_handle_alloc failed\n",
+ __func__, ifname);
+ return -ENOMEM;
}
+ nl_socket_set_local_port(nlsocket, 0);
- if (nl_connect(nlhandle, NETLINK_ROUTE) < 0) {
+ err = nl_connect(nlsocket, NETLINK_ROUTE);
+ if (err < 0) {
LLDPAD_WARN("%s: %s nlconnect failed abort hardware set, %s\n",
- __func__, ifname, nl_geterror());
+ __func__, ifname, nl_geterror(err));
err = -EIO;
goto out1;
}
@@ -1013,7 +1012,7 @@ static int del_ieee_hw(const char *ifname, struct dcb_app *app_data)
nla_nest_end(nlm, app);
}
nla_nest_end(nlm, ieee);
- err = nl_send_auto_complete(nlhandle, nlm);
+ err = nl_send_auto_complete(nlsocket, nlm);
if (err <= 0)
LLDPAD_WARN("%s: %s 802.1Qaz set attributes failed\n",
__func__, ifname);
@@ -1021,7 +1020,8 @@ static int del_ieee_hw(const char *ifname, struct dcb_app *app_data)
out:
nlmsg_free(nlm);
out2:
- nl_close(nlhandle);
+ nl_close(nlsocket);
+ nl_socket_free(nlsocket);
out1:
return err;
@@ -1034,7 +1034,7 @@ static int set_ieee_hw(const char *ifname, struct ieee_ets *ets_data,
int err = 0;
struct nlattr *ieee, *app;
struct sockaddr_nl dest_addr;
- static struct nl_handle *nlhandle;
+ struct nl_sock *nlsocket;
struct nl_msg *nlm;
struct dcbmsg d = {
.dcb_family = AF_UNSPEC,
@@ -1042,15 +1042,13 @@ static int set_ieee_hw(const char *ifname, struct ieee_ets *ets_data,
.dcb_pad = 0
};
- if (!nlhandle) {
- nlhandle = nl_handle_alloc();
- if (!nlhandle) {
- LLDPAD_WARN("%s: %s: nl_handle_alloc failed, %s\n",
- __func__, ifname, nl_geterror());
- return -ENOMEM;
- }
- nl_socket_set_local_port(nlhandle, 0);
+ nlsocket = nl_socket_alloc();
+ if (!nlsocket) {
+ LLDPAD_WARN("%s: %s: nl_handle_alloc failed\n",
+ __func__, ifname);
+ return -ENOMEM;
}
+ nl_socket_set_local_port(nlsocket, 0);
if (!ets_data && !pfc_data && !app_data) {
err = 0;
@@ -1064,9 +1062,10 @@ static int set_ieee_hw(const char *ifname, struct ieee_ets *ets_data,
print_pfc(pfc_data);
#endif
- if (nl_connect(nlhandle, NETLINK_ROUTE) < 0) {
+ err = nl_connect(nlsocket, NETLINK_ROUTE);
+ if (err < 0) {
LLDPAD_WARN("%s: %s nlconnect failed abort hardware set, %s\n",
- __func__, ifname, nl_geterror());
+ __func__, ifname, nl_geterror(err));
err = -EIO;
goto out1;
}
@@ -1122,7 +1121,7 @@ static int set_ieee_hw(const char *ifname, struct ieee_ets *ets_data,
nla_nest_end(nlm, app);
}
nla_nest_end(nlm, ieee);
- err = nl_send_auto_complete(nlhandle, nlm);
+ err = nl_send_auto_complete(nlsocket, nlm);
if (err <= 0)
LLDPAD_WARN("%s: %s 802.1Qaz set attributes failed\n",
__func__, ifname);
@@ -1130,7 +1129,8 @@ static int set_ieee_hw(const char *ifname, struct ieee_ets *ets_data,
out:
nlmsg_free(nlm);
out2:
- nl_close(nlhandle);
+ nl_close(nlsocket);
+ nl_socket_free(nlsocket);
out1:
return err;
}
--
1.7.1

View File

@ -1,11 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 119ab58..de7e402 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([lldpad], [0.9.46], [lldp-devel@open-lldp.org])
-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
m4_pattern_allow([AM_PROG_AR])
AM_PROG_AR

View File

@ -1,18 +1,19 @@
%global _default_patch_fuzz 2
# https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags
%define _hardened_build 1
%global _hardened_build 1
%global checkout 48a5f38
Name: lldpad
Version: 0.9.46
Release: 7%{?dist}
Release: 8.git%{checkout}%{?dist}
Summary: Intel LLDP Agent
Group: System Environment/Daemons
License: GPLv2
URL: http://open-lldp.org/
Source0: %{name}-%{version}.tar.gz
Patch0: lldpad-0.9.46-subdir-objects.patch
Patch1: lldpad-0.9.46-libnl3.patch
Patch0: %{name}-%{version}-123-g48a5f38.patch
BuildRequires: automake autoconf libtool
BuildRequires: flex >= 2.5.33
@ -45,7 +46,6 @@ that use %{name}.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
./bootstrap.sh
@ -56,23 +56,19 @@ make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
rm -f %{buildroot}%{_mandir}/man8/dcbd.8
mkdir -p %{buildroot}%{_unitdir}
install -m644 %{name}.service %{buildroot}%{_unitdir}
rm -rf %{buildroot}/etc/init.d
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
rm -f %{buildroot}%{_libdir}/liblldp_clif.la
%post
/sbin/ldconfig
%systemd_post %{name}.service
%systemd_post %{name}.service %{name}.socket
%preun
%systemd_preun %{name}.service
%systemd_preun %{name}.service %{name}.socket
%postun
/sbin/ldconfig
%systemd_postun_with_restart %{name}.service
%systemd_postun_with_restart %{name}.service %{name}.socket
%files
%doc COPYING README ChangeLog
@ -80,6 +76,7 @@ rm -f %{buildroot}%{_libdir}/liblldp_clif.la
%{_libdir}/liblldp_clif.so.*
%dir %{_sharedstatedir}/%{name}
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.socket
%dir %{_sysconfdir}/bash_completion.d/
%{_sysconfdir}/bash_completion.d/*
%{_mandir}/man8/*
@ -90,6 +87,9 @@ rm -f %{buildroot}%{_libdir}/liblldp_clif.la
%{_libdir}/liblldp_clif.so
%changelog
* Thu Oct 23 2014 Chris Leech <cleech@redhat.com> - 0.9.46-8.git48a5f38
- sync to upstream v0.9.46-123-g48a5f38
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild