Hi,
On 10-Feb-06, at 16:39, dima wrote:
The second CPU wouldn't help you for sure. There's only one [swi1:
net] kernel thread which deals with all the kernel traffic. The option
of per-CPU [swi: net] threads was discussed on freebsd-arch@ several
months ago, but it wouldn't be implemented soon.
So, the only hardware option is installing the fastest CPU possible.
Ok, the statement above answers my first question clearly and concisely
(although I must confess I am a bit confused after reading Robert
Watson's message).
There are several software (FreeBSD specific) options though:
1. You should surely try polling(4). 50kpps mean 50000 interrupts and
the same amount of context switches, which are quite expensive.
2. FastForwarding. It's the most suitable for you. As I know, Quagga
inserts its dynamic routes to the system routing table. And
FastForwarding is aware of routing table and firewall rules. And the
most exciting: you can switch it on/off without reboot:
# sysctl net.inet.ip.fastforwarding=1
This morning a tried suggestion number 2.
I had HOST-A running a ping session to HOST-B. Between hosts A and B
there was the heavily loaded FreeBSD machine in question. As soon as I
entered 'sysctl net.inet.ip.fastforwarding=1' the ping session died.
Switching fastforwarding back to 0 resumed the session.
It's very unfortunate we can't afford to have that machine down, even
for a couple of minutes, during daytime. I guess I'll have to read more
about polling and the net.inet.ip.fastforwarding option, before giving
it another try (probably around 3 a.m.)
Thanks for your reply.
Regards,
--
Marcos
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"