Commit Graph

22 Commits

Author SHA1 Message Date
bz
d13adceee2 Adter r228571 unbreak architectures with strict alignment rules
by copying rather than casting.
2011-12-17 11:06:22 +00:00
ru
7c2eec4da4 Properly detect interface's state in the LINK_STATE_UNKNOWN case.
MFC after:	1 week
2011-05-03 10:11:44 +00:00
yongari
c21b4e698b Fix a typo introduced in r210936 which broke build. 2010-08-06 18:44:07 +00:00
jhb
7909344bdf Ethernet vlan(4) interfaces have valid Ethernet link layer addresses but
use a different interface type (IFT_L2VLAN vs IFT_ETHER).  Treat IFT_L2VLAN
interfaces like IFT_ETHER interfaces when handling link layer addresses.

Reviewed by:	syrinx (bsnmpd)
MFC after:	1 week
2010-08-06 15:09:21 +00:00
uqs
e5ed83efa9 mdoc: consistently spell our email addresses <foo@FreeBSD.org>
Reviewed by:	ru
Approved by:	harti
2010-05-24 06:26:38 +00:00
syrinx
3f6e5c4df5 Fix a problem with high CPU consumption (up to 30%) by bsnmpd on a loaded system.
Instead of constantly calling the mibII_idle function when the server is not busy
call the function only once every 10 seconds to avoid bsnmpd constantly doing
gettimeofday syscalls. Make the idle polling interval confugurable via
begemotIfDataPoll.

Reported and tested by: misho (at) aitbg (dot) com
Oked by: harti
MFC after:	1 week
2009-12-03 16:08:00 +00:00
imp
ad4207874a Add an extra (void *) cast. The struct if_msghdr has an 8 byte
alignment requirement, while rt_msghdr has a 4 byte alignment
requirement.  The root cause is that if_msghdr has an struct if_data
which has an 8-byte alignment requirement due to a time_t that's
embedded in it.  On MIPS, time_t is a 64-bit number, so must be 64-bit
aligned.

Since we don't access ifm_data.ifi_epoch, a simple cast is all that's
necessary here.  It is likely the case that ifi_epoch should *NOT* be
a time_t because it is an uptime (time delta) an not an absolute time
since 1970.  u_long is likely sufficient there since that gives an
uptime of 136 years will suffice for the foreseeable future.
2009-02-18 19:59:27 +00:00
qingli
ec826ad5c7 This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
   possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
  the last piece of the puzzle, Kip has also been conducting
  active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
  provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
  me maintaining that branch before the svn conversion
2008-12-15 06:10:57 +00:00
harti
e52b461598 Vendor patch: improve readability by using the IF_Mbps macro.
Submitted by:	glebius
2006-10-30 16:56:38 +00:00
harti
9b4fc3d8f1 Virgin import of bsnmpd 1.12 2006-02-27 16:16:18 +00:00
harti
a923e07ab3 Vendor fix: make mibII HC counters really 64-bit on 32-bit platforms by polling
the kernel periodically.

Submitted by:	glebius (partly)
2006-02-13 14:11:18 +00:00
harti
af0ed09791 Vendor patch: Make the link traps more RFC-conform.
Submitted by:	glebius
2006-02-10 16:49:49 +00:00
harti
574aae598d Vendor fix: the routing table can change while we are fetching it from
the kernel. Instead of complaining if we get an ENOMEM (meaning it got
larger than our buffer is) reallocate the buffer and loop.

Submitted by: maxim
2006-01-10 11:59:31 +00:00
harti
ac5d1bb3ea Vendor patch: fix the reporting of ifOperStatus. We now consider an
interface up when it is running AND the link is not down (that is, it is
up or unknown). If the interface is running but the link is down, we return
state 'dormant', because we're waiting for an external event. Otherwise
the interface is 'down'.

Submitted by:	csjp
Reviewed by:	glebius
2005-11-02 14:05:49 +00:00
harti
efb2dfa177 Virgin import of bsnmpd 1.11 2005-10-04 14:41:06 +00:00
harti
2b366eef52 Apply a vendor patch: silence gcc on arm (alignent when casting pointer).
Submitted by:	Olivier Houchard <cognet@ci0.org>
2005-05-25 12:00:03 +00:00
harti
a585c860e6 Virgin import of bsnmpd 1.10 2005-05-23 11:19:11 +00:00
harti
273b7adb85 Virgin import of bsnmpd 1.8 2005-02-28 17:27:11 +00:00
harti
d6d162437d Virgin import of bsnmpd 1.7 2004-08-06 13:38:30 +00:00
harti
2dce00c891 Import of bsnmpd 1.6 2004-04-14 16:20:14 +00:00
harti
37f8604ae2 Virgin import of bsnmpd 1.5a 2004-01-23 10:44:47 +00:00
harti
ea9d8683bc Virgin import of bsnmp 1.4 2003-11-10 08:53:38 +00:00