mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
net-snmp: use netlink support
To properly compile with netlink we added a patch that ports the netlink use to libnl-3 API. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
committed by
Koen Kooi
parent
675da0c58a
commit
1e593c82a3
@@ -0,0 +1,69 @@
|
||||
Add support to libnl-3
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
--- net-snmp-5.6.1/agent/mibgroup/mibII/tcpTable.c.org 2011-03-27 22:39:13.428728506 +0200
|
||||
+++ net-snmp-5.6.1/agent/mibgroup/mibII/tcpTable.c 2011-03-27 22:39:47.606956561 +0200
|
||||
@@ -555,8 +555,9 @@
|
||||
static int
|
||||
tcpTable_load_netlink(void)
|
||||
{
|
||||
+ int err;
|
||||
/* TODO: perhaps use permanent nl handle? */
|
||||
- struct nl_handle *nl = nl_handle_alloc();
|
||||
+ struct nl_sock *nl = nl_socket_alloc();
|
||||
|
||||
if (nl == NULL) {
|
||||
DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n"));
|
||||
@@ -564,10 +565,10 @@
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (nl_connect(nl, NETLINK_INET_DIAG) < 0) {
|
||||
- DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror()));
|
||||
- snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror());
|
||||
- nl_handle_destroy(nl);
|
||||
+ if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) {
|
||||
+ DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err)));
|
||||
+ snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err));
|
||||
+ nl_socket_free(nl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -579,10 +580,10 @@
|
||||
struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST);
|
||||
nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0);
|
||||
|
||||
- if (nl_send_auto_complete(nl, nm) < 0) {
|
||||
- DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror()));
|
||||
- snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror());
|
||||
- nl_handle_destroy(nl);
|
||||
+ if ((err = nl_send_auto_complete(nl, nm)) < 0) {
|
||||
+ DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err)));
|
||||
+ snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err));
|
||||
+ nl_socket_free(nl);
|
||||
return -1;
|
||||
}
|
||||
nlmsg_free(nm);
|
||||
@@ -593,9 +594,9 @@
|
||||
|
||||
while (running) {
|
||||
if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) {
|
||||
- DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror()));
|
||||
- snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror());
|
||||
- nl_handle_destroy(nl);
|
||||
+ DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len)));
|
||||
+ snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len));
|
||||
+ nl_socket_free(nl);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -644,7 +645,7 @@
|
||||
free(buf);
|
||||
}
|
||||
|
||||
- nl_handle_destroy(nl);
|
||||
+ nl_socket_free(nl);
|
||||
|
||||
if (tcp_head) {
|
||||
DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n"));
|
||||
@@ -2,12 +2,12 @@ DESCRIPTION = "Various tools relating to the Simple Network Management Protocol"
|
||||
HOMEPAGE = "http://www.net-snmp.org/"
|
||||
LICENSE = "BSD"
|
||||
|
||||
DEPENDS = "openssl"
|
||||
DEPENDS = "openssl libnl"
|
||||
RDEPENDS_${PN}-server += "net-snmp-mibs"
|
||||
RDEPENDS_${PN}-client += "net-snmp-mibs"
|
||||
RDEPENDS_${PN}-dev = "net-snmp-client (= ${EXTENDPV}) net-snmp-server (= ${EXTENDPV})"
|
||||
RRECOMMENDS_${PN}-dbg = "net-snmp-client (= ${EXTENDPV}) net-snmp-server (= ${EXTENDPV})"
|
||||
INC_PR = "r0"
|
||||
INC_PR = "r1"
|
||||
|
||||
inherit autotools update-rc.d siteinfo
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
require net-snmp.inc
|
||||
PR = "${INC_PR}.1"
|
||||
PR = "${INC_PR}.2"
|
||||
LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5a622ea24634e"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
|
||||
file://sync-with-5.7-branch.patch \
|
||||
file://libnl-3-support.patch \
|
||||
file://init \
|
||||
file://snmpd.conf \
|
||||
file://snmptrapd.conf"
|
||||
|
||||
Reference in New Issue
Block a user