Heikki Hannikainen
c11122c2b0
no_tx: Do not send packets to broken TX igates.
...
Blacklist an igate software implementation which does not use the 3rd party
packet format when forwarding packets from APRS-IS to RF. It causes loops
and confuses all other igates around to think that all those stations on
APRS-IS are reachable locally on RF.
2023-01-27 19:03:27 +02:00
Heikki Hannikainen
8a410f9690
coverity: Fix format string bugs in logging
...
Mostly long integers printed with %d.
2022-11-01 23:35:57 +02:00
Heikki Hannikainen
46b6947f1e
accounting: Optimize CPU use of tx/rx accounting counters
...
TX counters are updated much more often than RX counters. No need
to bump RX counters for every outgoing packet, and no need
to bump TX counters for every incoming packet. Split them out.
2022-10-31 19:04:01 +02:00
Heikki Hannikainen
9d260012e7
outgoing packets: account SCTP right
2013-04-26 18:14:15 +03:00
Heikki Hannikainen
2102cff229
worker: use a c->write() method to simplify different write handlers
2013-04-13 17:58:02 +03:00
Heikki Hannikainen
ed37f32189
Classify clients only when they have logged in. Use classification
...
presence to determine if packets should be sent in outgoing.c, which
saves one more condition check for login status for every packet.
2013-02-01 07:33:04 +02:00
Heikki Hannikainen
6ac7098b5a
Dupeclients: Prepend "dup\t" to outgoing dupe packets
...
in order to prevent regular clients from processing them.
2013-01-20 08:21:54 +02:00
Heikki Hannikainen
033d40288f
worker: Only raise an alert about internal packet drops if more than
...
24 packets were dropped within 24 hours.
2013-01-16 14:20:45 +02:00
Heikki Hannikainen
438f5a5406
outgoing loops: Optimized some pointer references away in tight loops
2012-11-13 23:55:59 +02:00
Heikki Hannikainen
d469631e7b
status,outgoing: raise an error flag if packets are dropped in
...
outgoing packet path
2012-11-01 22:49:40 +02:00
Heikki Hannikainen
2e6fe52daf
dupecheck/acconting/web: Count duplicate packets per client and listener
2012-10-29 20:34:25 +02:00
Heikki Hannikainen
d839000ad7
outgoing: +comment
2012-10-12 07:08:55 +03:00
Heikki Hannikainen
f5a4298292
outgoing/worker: Classify upstreams/peers in their own list
2012-10-12 02:49:52 +03:00
Heikki Hannikainen
9cb21af856
outgoing/worker: classify read-only clients to their own list
2012-10-12 02:33:46 +03:00
Heikki Hannikainen
18b7dc4320
worker/outgoing: Classify dupeclients in a separate list
...
so that we don't need to walk through all clients when looking
for dupeclients. Optimisation starting point: will classify
other types of clients in their own lists.
2012-10-12 02:22:07 +03:00
Heikki Hannikainen
ed66310c8c
outgoing: make the outgoing clients scan loop tighter
2012-10-12 01:39:46 +03:00
Heikki Hannikainen
c17fd235a0
outgoing: reorder checks to do the more common ones first
2012-10-12 00:12:08 +03:00
Heikki Hannikainen
cfda722aab
outging: added source code comments
2012-09-21 01:49:04 +03:00
Heikki Hannikainen
7893cdcfb1
Collect dropped input packet reason code counters for clients,
...
listeners and protocols, and put the counter arrays in the status
JSON.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@858 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-09-15 07:56:29 +00:00
Heikki Hannikainen
afefb09c53
outgoing: fix SEGV in logging of a fairly normal timekeeping oddity, and cut
...
some slack in the testing of the odd case.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@830 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-09-06 17:44:35 +00:00
Heikki Hannikainen
8dac08e58d
outgoing: cut some slack in the "packet from future" check
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@661 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-08-19 06:16:20 +00:00
Heikki Hannikainen
0c733563cd
outgoing: catch pbufs marked as free, and abort() upon seeing one
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@609 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-08-07 16:24:14 +00:00
Heikki Hannikainen
9a86f86c32
Extra tests and logging tuning to catch old packets
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@607 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-08-07 07:26:57 +00:00
Heikki Hannikainen
e95a5a164d
outgoing: Tighter 5-second outgoing packet age limit
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@588 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-08-04 08:45:22 +00:00
Heikki Hannikainen
27a3f3f64d
version 0.2.10:
...
- increase pbuf expiration time from 10 seconds back to 10 minutes to
avoid dupecheck from running over worker outgoing processor's toes,
this just masks the real bug temporarily
- make dupecheck and worker outgoing processor catch old packets,
dupecheck just logs an error, but worker skips them instead of
transmitting (safeguard against any bugs in buffer management)
- removed a chunk of dead code from outgoing.c
- if the packet is sourced by a local login, but it is not coming
from that socket, mark it as a duplicate packet.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@573 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-08-02 11:56:12 +00:00
Heikki Hannikainen
4cbbc57970
make dupefeeds work
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@550 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-31 05:47:56 +00:00
Heikki Hannikainen
1fd38feb99
Fixed UDP received packets accounting
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@535 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-30 10:09:06 +00:00
Heikki Hannikainen
540a73f827
Fix tcp total tx bytes accounting to show the right value
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@533 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-30 08:01:57 +00:00
Heikki Hannikainen
884b88640b
Implemented working core peer UDP tx/rx. Max 16 peers, fixed with a #define.
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@502 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-26 18:03:03 +00:00
Heikki Hannikainen
c499c96954
Fixed bugs in outgoing packet selection
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@500 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-25 22:03:31 +00:00
Heikki Hannikainen
c0307992ef
Working UDP core peer transmit support (receiving doesn't work yet).
...
Classify incoming packets as coming in from a downstream client,
or an upstream server/core peer. Use the bit to avoid passing data
between upstreams.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@496 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-25 20:04:43 +00:00
Heikki Hannikainen
1be93848c9
Some initial work towards UDP core peergroups
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@495 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-07-25 06:02:32 +00:00
Heikki Hannikainen
726d6f71ed
Use gcc atomic __sync_fetch_and_add operations to increment statistics counters.
...
Added client counters for rxqdrops (Q algorithm drops), and rxparsefails
(plain APRS-IS packet parsing fails). Put counters in JSON and web stats.
Put historydb stats counters in JSON too.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@451 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-06-13 19:32:45 +00:00
Heikki Hannikainen
be455b4470
Rework client states a bit, add a few states.
...
Do send packets to RW upstream servers (it didn't before).
Status JSON: add upstream server modes to JSON.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@423 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-06-07 18:09:03 +00:00
Heikki Hannikainen
9cccedd6ed
HTTP: Implement giving out static files to support AJAX based status view.
...
Login+Filter: Store the user's filter in a client struct variable, for the status view.
Accounting: Fix in/out packet counting to not include keepalive strings etc.
Status: Added pbuf cellmalloc stats. Added more client stats (accounting).
Cellmalloc: Report the amount of cells allocated.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@410 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-06-06 21:35:46 +00:00
Heikki Hannikainen
ec67313248
+ Almost completely implement messaging support for aprsc: keep
...
track of heard stations per client, and pass messages to them.
With tests. Expiration missing, and courtesy posits.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@365 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-05-29 21:12:59 +00:00
Heikki Hannikainen
7604632c2c
= outgoing: added a bunch of commented out debug logs
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@352 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2012-05-17 22:21:43 +00:00
Matti Aarnio
ec21ccf539
revert 316, insert some commented inactive experimental code on outgoing.c
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@317 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2009-09-13 21:36:40 +00:00
Heikki Hannikainen
72a175704b
+ BSD licensing
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@297 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2009-03-10 17:40:06 +00:00
Matti Aarnio
01f5b9d3f7
uplink simulator separated from normal processing, cleaner controls
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@224 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-22 15:15:00 +00:00
Matti Aarnio
cd8c038f1f
Link-feature flags on config/accept/uplink/client codes
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@172 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-18 12:47:09 +00:00
Matti Aarnio
5cbf5a09cd
all outgoing_*() functions into one file
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@146 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-14 10:40:42 +00:00
Matti Aarnio
9097143ecb
two system timers (new, tick), outgoing rearranged, global pbuf queue purger controls, care at client_write(), obuf buffering/direct flushing tresholding
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@131 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-12 21:20:02 +00:00
Matti Aarnio
0984f2da11
uplink socket, presently read-only
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@85 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-10 05:55:42 +00:00
Matti Aarnio
56dc622c05
More filters, initial dupe processing bits
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@54 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-06 14:32:08 +00:00
Matti Aarnio
97aca52e1f
more of packet classification codes
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@38 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-03-02 08:46:18 +00:00
Matti Aarnio
5e375aec50
put copyright&license statements on every source file, move struct pbuf_t to be cell-arena allocation stuff.
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@27 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-02-29 20:35:01 +00:00
Matti Aarnio
b61cd9e21a
More of client filter codes
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@23 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-02-29 00:27:36 +00:00
Heikki Hannikainen
4f3a2a9d9f
- unused variables
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@17 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-02-28 18:09:44 +00:00
Matti Aarnio
e0c6ff311a
incoming/worker/outgoing integration with output filter
...
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@11 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
2008-02-28 12:30:46 +00:00