Re: read() returns ETIMEDOUT on steady TCP connection

2008-05-06 Thread Deng XueFeng
hi
I'am also meet this problem in my mss server(missey streaming server).
one encoder push stream to mss, then run 100 client player playing the
sream, as the client number increase,  mss  will occur this error sooner or 
later
like this:
I'am using kqueue, and will got a event with  EV_EOF and fflags =
ETIMEDOUT,
if i ignore EV_EOF  flag, then ETIMEDOUT will be return by read(2),

and the tcpdump also show that server  will send RST packet to encoder.


 Hello,
 
 I'm are having a trouble with TCP connections being dropped with read: 
 Operation timed out. What is unusual is that this is happening right in 
 the middle of sending a steady stream of data with no network congestion.
 
 The system is FreeBSD 7 and a bespoke streaming server with 1Gbit 
 connection. The server receives a 192kbps inbound stream over TCP, and 
 broadcasts it over a large number of TCP streams.
 
 With no visible or obvious pattern, the inbound read() fails with 
 ETIMEDOUT. The likelihood of this happening seems to increase as the 
 number of audience connections increases. It's happens every few minutes 
 even with a small audience (eg. 300 outbound connections and about 
 60mbit).
 
 It doesn't cough and splutter -- steady data is coming in, then it just 
 drops the connection.
 
 systat doesn't show problems inbound; all packets received are delivered 
 to the upper layer. But on outbound, there is consistent 'output drops':
 
  IP Output
 7028 total packets sent
 7028 - generated locally
   314 - output drops
 
 As the number of outbound connections increases, the 'output drops' 
 increases to around 10% of the total packets sent and maintains that 
 ratio. There's no problems with network capacity.
 
 I've tried different servers, different network interfaces (bge, em), 
 different kernel (7-RELEASE, 7-STABLE). Have also checked dev.bge.0.stats 
 and dev.em.0.stats for CRC errors etc. which show no problems. 'netstat 
 -m' doesn't show any reaching of mbuf and sbuf limits. The problem is seen 
 in a dedicated, uncontended test environment.
 
 Can anyone explain why the packets are being dropped outbound, and how 
 this could affect inbound TCP data in such an abrupt way? What can I do to 
 solve this?
 
 Thanks,
 
 Mark
 ___
 freebsd-net@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-net
 To unsubscribe, send any mail to [EMAIL PROTECTED]

-- 
Deng XueFeng [EMAIL PROTECTED]

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Not All Symbols Present in a Loadable Kernel Module

2008-05-06 Thread Bruce Evans

On Mon, 5 May 2008, Alexander Sack wrote:


For my own edification, unless you specifically mark a function
inline, will gcc really optimize them out?  That seems a little
overboard unless there is some compiler option that says its okay to
do that.  I guess that would be very easy to test if you do as you
say, just sock away the function address pointer somewhere and you
should be okay...


This is a regression in gcc-4.  The -O option says it.  -O implies
-funit-at-a-time, which allows inlining of functions irrespective of
their order within a file and implies -finline-functions-called-once.
Thus even plain -O removes most static functions that are only called
once.

This doesn't seem to be the problem with the bce functions, since some
of the missing ones are called more than once.

-O2 seems to remove even more functions, but I'm not sure of the details.

It is a regression in FreeBSD-5(?) to use -O2 by default for kernels.
This used to give mainly bloat, but it now breaks debugging (including
stack traces) and profiling unless full debugging symbols are available
and used.  Only gdb uses full debugging symbols AFAIK, and at least for
old versions of gdb on objects generated with -g -O2, it doesn't handle
even explicit inline functions quite right (both explicit and inline
functions get replaced by non-call instructions instructions and by
symbols to say where the function call was, and debuggers have a hard
time making this look like a function call so that stepping over the
function call works, especially when -O2 reorders everything).

[Context lost to top posting.]

Bruce
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Not All Symbols Present in a Loadable Kernel Module

2008-05-06 Thread Martes G Wigglesworth
I thought that the inline switch was specific to C++ and C and not
gcc, hence the standard for the language says to add the inline
parameter to explicitly produce optimized code.  Unless gcc is not
standard, I don't see why the compiler would automatically optimize the
coded function to inline.

On Mon, 2008-05-05 at 14:06 -0400, Alexander Sack wrote:
 For my own edification, unless you specifically mark a function
 inline, will gcc really optimize them out?  That seems a little
 overboard unless there is some compiler option that says its okay to
 do that.  I guess that would be very easy to test if you do as you
 say, just sock away the function address pointer somewhere and you
 should be okay...
 
 -aps
 
 On Mon, May 5, 2008 at 12:32 PM, Kostik Belousov [EMAIL PROTECTED] wrote:
 
  On Mon, May 05, 2008 at 09:27:10AM -0700, David Christensen wrote:
   Yes, I'm building a debug kernel.  I have the line listed above as
 well
   as the following:
 
   options KDB
   options DDB
   options GDB
   options INVARIANTS
   options INVARIANT_SUPPORT
   options WITNESS
   options WITNESS_SKIPSPIN

 Dave:

 What symbols can you not access exactly and how are you
 installing/setting up debugging?

 I just built a RELENG_7 with DDB and I'm able to access bce symbols
 without a problem.  I can examine them and call them.  I'm not using
 options GDB however, only KDB/DDB.

 I would:

 - Make sure you have the right if_bce.ko/if_bce.ko.symbols files
 generated/installed which contains the debug sections of your ko (from
 the objcopy calls during the build - the binary is stripped with a
 section pointer to the if_bce.ko.symbols file for debugging
 information I believe)
 - If you are using GDB, make sure its pointed to the right source base
 so it can retrieve symbol information correctly
 - If you are using GDB, stub it out and just use DDB to verify that
 your build is sane (it works for me!)
 - If all else fails, you can always build bce statically (just to move
 forward etc.)
   
- Enable the kernel debugger as described above
- Build the driver in the /usr/src/sys/modules/bce directory with the
  command make.
- Run the command nm if_bce.ko | grep dump_stat in the same directory
  with the kernel module just built.
   
In my case I only see a symbol for bce_dump_status_block, but there is a
second routine called bce_dump_stats_block.  In my working build there
are 23 functions that start with bce_dump but only 8 are displayed with
the command nm if_bce.ko | grep bce_dump.  Of course, I also get the
symbol not present error when I try to use any of those missing symbols
through a call command in the debugger.
 
   Most likely, they are optimized out, gcc likes to inline once-called
   static functions. Aside from playing with the optimization options,
   the easiest way seems to use functions somewhere else, e.g., put the
   addresses into some table. Just guessing.
 
 ___
 freebsd-net@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-net
 To unsubscribe, send any mail to [EMAIL PROTECTED]
 

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Troubles with em on FreeBSD 7

2008-05-06 Thread Oleksandr Samoylyk
A bit experiments and it's was detected that it is a netgraph related 
problem.


Whom can I address the problem?

Thanks to Paul.

--
 Oleksandr Samoylyk
 OVS-RIPE
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Not All Symbols Present in a Loadable Kernel Module

2008-05-06 Thread Alexander Sack
On Tue, May 6, 2008 at 3:28 AM, Bruce Evans [EMAIL PROTECTED] wrote:
 On Mon, 5 May 2008, Alexander Sack wrote:
  For my own edification, unless you specifically mark a function
  inline, will gcc really optimize them out?  That seems a little
  overboard unless there is some compiler option that says its okay to
  do that.  I guess that would be very easy to test if you do as you
  say, just sock away the function address pointer somewhere and you
  should be okay...
 

  This is a regression in gcc-4.  The -O option says it.  -O implies
  -funit-at-a-time, which allows inlining of functions irrespective of
  their order within a file and implies -finline-functions-called-once.
  Thus even plain -O removes most static functions that are only called
  once.

Thanks Bruce, I did some digging and all i can say is YIKES.  Got to
be careful with gcc optimizations.  I suppose to be safe, bge could be
compiled with -fno-inline-funcations-called-once to be safe.

  This doesn't seem to be the problem with the bce functions, since some
  of the missing ones are called more than once.

Again, I would assume if you look at the symbols of the generated
binary you should be able to figure out if you have a compiler issue
or a debugger one!

-aps
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Troubles with em on FreeBSD 7

2008-05-06 Thread Julian Elischer

Oleksandr Samoylyk wrote:
A bit experiments and it's was detected that it is a netgraph related 
problem.


Whom can I address the problem?

Thanks to Paul.




[EMAIL PROTECTED] send details and one of us will look at it..

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Problems with netgraph

2008-05-06 Thread Oleksandr Samoylyk

Dear developers,

Please read this thread:
http://lists.freebsd.org/pipermail/freebsd-net/2008-May/017891.html

I'm using no encryption and no compression in mpd, so netgraph should fly.
It seems to get bad after 500 sessions...

In FreeBSD 6 - it's swi1: net - 100% CPU
In FreeBSD 7 - it's em0 taskq - 100% CPU

After playing with it I can make guess that's a netgraph problem.

Maybe it's a poor design in netgraph the way it handle its tables and 
it's is probably not designed to add so many interfaces.


Might be there something in the source code I can edit to improve the 
table lookups or hash table or whatever netgraph use to store and 
process the node information and do the ppp/gre work.


--
 Oleksandr Samoylyk
 OVS-RIPE
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with netgraph

2008-05-06 Thread Oleksandr Samoylyk

Oleksandr Samoylyk пишет:

Oleksandr Samoylyk wrote:

Dear developers,

Please read this thread:
http://lists.freebsd.org/pipermail/freebsd-net/2008-May/017891.html

I'm using no encryption and no compression in mpd, so netgraph should 
fly.

It seems to get bad after 500 sessions...

In FreeBSD 6 - it's swi1: net - 100% CPU
In FreeBSD 7 - it's em0 taskq - 100% CPU

After playing with it I can make guess that's a netgraph problem.

Maybe it's a poor design in netgraph the way it handle its tables and 
it's is probably not designed to add so many interfaces.


Might be there something in the source code I can edit to improve the 
table lookups or hash table or whatever netgraph use to store and 
process the node information and do the ppp/gre work.




I can also offer a shell access to server in order to investigate the 
problem.




# ngctl list
ngctl: send msg: No buffer space available

However:
kern.ipc.maxpipekva=4
net.graph.maxalloc=8192
net.graph.maxdgram=256000
net.graph.recvspace=256000

--
 Oleksandr Samoylyk
 OVS-RIPE
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with netgraph

2008-05-06 Thread Julian Elischer

Oleksandr Samoylyk wrote:

Dear developers,

Please read this thread:
http://lists.freebsd.org/pipermail/freebsd-net/2008-May/017891.html

I'm using no encryption and no compression in mpd, so netgraph should fly.
It seems to get bad after 500 sessions...

In FreeBSD 6 - it's swi1: net - 100% CPU
In FreeBSD 7 - it's em0 taskq - 100% CPU


unfortunatly I've been totally  ignoring this thread because it said
trouble with em in the topic..
If you'd said
trouble with mpd  then maybe I'd have looked earlier..



After playing with it I can make guess that's a netgraph problem.

Maybe it's a poor design in netgraph the way it handle its tables and 
it's is probably not designed to add so many interfaces.


how many?



Might be there something in the source code I can edit to improve the 
table lookups or hash table or whatever netgraph use to store and 
process the node information and do the ppp/gre work.


netgraph just had some work done on it for this exact reason,
but you may be jumping the gun a bit..





___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with netgraph

2008-05-06 Thread Oleksandr Samoylyk

Julian Elischer wrote:

Oleksandr Samoylyk wrote:

Dear developers,

Please read this thread:
http://lists.freebsd.org/pipermail/freebsd-net/2008-May/017891.html

I'm using no encryption and no compression in mpd, so netgraph should 
fly.

It seems to get bad after 500 sessions...

In FreeBSD 6 - it's swi1: net - 100% CPU
In FreeBSD 7 - it's em0 taskq - 100% CPU


unfortunatly I've been totally  ignoring this thread because it said
trouble with em in the topic..
If you'd said
trouble with mpd  then maybe I'd have looked earlier..



After playing with it I can make guess that's a netgraph problem.

Maybe it's a poor design in netgraph the way it handle its tables and 
it's is probably not designed to add so many interfaces.


how many?


more than 2500

Might be there something in the source code I can edit to improve the 
table lookups or hash table or whatever netgraph use to store and 
process the node information and do the ppp/gre work.


netgraph just had some work done on it for this exact reason,
but you may be jumping the gun a bit..








--
 Oleksandr Samoylyk
 OVS-RIPE
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with netgraph

2008-05-06 Thread Oleksandr Samoylyk

Julian Elischer wrote:

Oleksandr Samoylyk wrote:

Dear developers,

Please read this thread:
http://lists.freebsd.org/pipermail/freebsd-net/2008-May/017891.html

I'm using no encryption and no compression in mpd, so netgraph should 
fly.

It seems to get bad after 500 sessions...

In FreeBSD 6 - it's swi1: net - 100% CPU
In FreeBSD 7 - it's em0 taskq - 100% CPU


unfortunatly I've been totally  ignoring this thread because it said
trouble with em in the topic..
If you'd said
trouble with mpd  then maybe I'd have looked earlier..



After playing with it I can make guess that's a netgraph problem.

Maybe it's a poor design in netgraph the way it handle its tables and 
it's is probably not designed to add so many interfaces.


how many?



# vmstat -m | grep netgraph
 netgraph_msg 0 0K   -  1355522  64,128,256,512,1024
netgraph_node 12110  3028K   -28829  256
netgraph_hook 29648  3706K   -66104  128
 netgraph  8076 12663K   -15209  64,256,1024,4096
netgraph_sock 4 1K   - 5489  128
netgraph_path 1 1K   -   728112  16,32
netgraph_mppc 0 0K   -1  1024
netgraph_ksock  1349   169K   - 3414  128
netgraph_iface  1346   169K   - 2367  128
 netgraph_ppp  1346 16152K   - 2367
 netgraph_bpf 16020  2003K   -33296  128

# ifconfig -a | grep ng | wc -l
1341

I saw a peak with about 1900 ng interfaces. That was tooo sloo

last pid: 39304;  load averages:  1.12,  1.23,  1.20 
   up 0+01:15:38  22:39:04

93 processes:  10 running, 70 sleeping, 13 waiting
CPU states:  0.3% user,  0.0% nice, 15.3% system,  3.1% interrupt, 81.3% 
idle

Mem: 46M Active, 7772K Inact, 109M Wired, 128K Cache, 16M Buf, 7756M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZERES STATE  C   TIME   WCPU COMMAND
  819 root   23  500 92764K 36424K select 1   0:00 207.18% mpd5
   17 root1 171 ki31 0K16K RUN1  71:41 100.00% 
idle: cpu1
   14 root1 171 ki31 0K16K CPU4   4  69:16 100.00% 
idle: cpu4
   15 root1 171 ki31 0K16K CPU3   3  68:11 100.00% 
idle: cpu3
   29 root1 -68- 0K16K CPU6   6  60:50 100.00% em0 
taskq
   18 root1 171 ki31 0K16K CPU0   0  71:58 97.17% idle: 
cpu0
   16 root1 171 ki31 0K16K CPU2   2  68:13 95.65% idle: 
cpu2
   11 root1 171 ki31 0K16K CPU7   7  66:23 86.38% idle: 
cpu7
   13 root1 171 ki31 0K16K CPU5   5  65:28 71.97% idle: 
cpu5

   19 root1 -44- 0K16K WAIT   5  19:53 31.59% swi1: net
   30 root1 -68- 0K16K -  7   8:41 12.89% em1 taskq
   12 root1 171 ki31 0K16K RUN6  12:41  0.00% idle: 
cpu6
   20 root1 -32- 0K16K WAIT   3   1:12  0.00% swi4: 
clock


# uname -v
FreeBSD 7.0-STABLE #0: Mon May  5 01:11:23 EEST 2008


CPU: Intel(R) Xeon(R) CPU   E5335  @ 2.00GHz (2000.01-MHz 
K8-class CPU)

  Origin = GenuineIntel  Id = 0x6f7  Stepping = 7

Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
  Features2=0x4e33dSSE3,RSVD2,MON,DS_CPL,VMX,TM2,SSSE3,CX16,xTPR,PDCM,DCA
  AMD Features=0x20100800SYSCALL,NX,LM
  AMD Features2=0x1LAHF
  Cores per package: 4

FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs

usable memory = 8580038656 (8182 MB)
avail memory  = 8292810752 (7908 MB)

# ngctl list
ngctl: send msg: No buffer space available

# cat /boot/loader.conf
loader_logo=beastie
autoboot_delay=3
hw.em.rxd=1024
hw.em.txd=1024
net.inet.tcp.tcbhashsize=4096
kern.ipc.maxpipekva=3200
net.graph.recvspace=128000
net.graph.maxdgram=128000

Linux with poptop was running quit smoothly. I thought that netgraph 
would be fast as hell.


--
 Oleksandr Samoylyk
 OVS-RIPE
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: multiple routing tables review patch ready for simple testing.

2008-05-06 Thread Bjoern A. Zeeb

On Tue, 29 Apr 2008, Julian Elischer wrote:

Hi,


The patch can be found at
http://www.freebsd.org/~julian/mrt.diff
(or http://www.freebsd.org/~julian/mrt6.diff for RELENG_6)

or source can be taken from perforce at:
//depot/user/julian/routing/src


So after looking at the patch a bit more again, could you add wrapper
functions for those like you have done for the old KPI (rtrequest, rtrequest1,
..)?

+ * For now the protocol indepedent versions are the same as the AF_INET ones
+ * but this will change.. just #define them at this time.
+ */
+#definein_rt_getifa(_a, _b)rt_getifa_fib(_a, _b)
+#definein_rtalloc_ign(_a, _b, _c)  rtalloc_ign_fib(_a, _b, _c)
+#definein_rtalloc(_a, _b)  rtalloc_fib(_a, _b)
+#define in_rtalloc1(_a, _b, _c, _d)rtalloc1_fib(_a, _b, _c, _d)
+#definein_rtioctl(_a, _b, _c)  rtioctl_fib(_a, _b, _c)
+#definein_rtredirect(_a, _b, _c, _d, _e, _f) \
+   rtredirect_fib(_a, _b, _c, _d, _e, _f)
+#define in_rtrequest(_a, _b, _c, _d, _e, _f, _g) \
+   rtrequest_fib(_a, _b, _c, _d, _e, _f,_g)
+#define in_rtrequest1(_a, _b, _c, _d)  rtrequest1_fib(_a, _b, _c, _d)
+#define in_rt_check(_a, _b, _c, _d)rt_check_fib(_a, _b, _c, _d)


The defines will not give you a stable KPI and having that changed again
if you are going with a prefix for each AF would be a pain if the _fib versions
are going to change in the future.


/bz

--
Bjoern A. Zeeb  Stop bit received. Insert coin for new game.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: multiple routing tables review patch ready for simple testing.

2008-05-06 Thread Julian Elischer

Bjoern A. Zeeb wrote:

On Tue, 29 Apr 2008, Julian Elischer wrote:

Hi,


The patch can be found at
http://www.freebsd.org/~julian/mrt.diff
(or http://www.freebsd.org/~julian/mrt6.diff for RELENG_6)

or source can be taken from perforce at:
//depot/user/julian/routing/src


So after looking at the patch a bit more again, could you add wrapper
functions for those like you have done for the old KPI (rtrequest, 
rtrequest1,


do you really want to do the extra work instructions?


..)?

+ * For now the protocol indepedent versions are the same as the AF_INET 
ones

+ * but this will change.. just #define them at this time.
+ */
+#definein_rt_getifa(_a, _b)rt_getifa_fib(_a, _b)
+#definein_rtalloc_ign(_a, _b, _c)  rtalloc_ign_fib(_a, _b, _c)
+#definein_rtalloc(_a, _b)  rtalloc_fib(_a, _b)
+#define in_rtalloc1(_a, _b, _c, _d)rtalloc1_fib(_a, _b, _c, _d)
+#definein_rtioctl(_a, _b, _c)  rtioctl_fib(_a, _b, _c)
+#definein_rtredirect(_a, _b, _c, _d, _e, _f) \
+   rtredirect_fib(_a, _b, _c, _d, 
_e, _f)

+#define in_rtrequest(_a, _b, _c, _d, _e, _f, _g) \
+   rtrequest_fib(_a, _b, _c, _d, 
_e, _f,_g)
+#define in_rtrequest1(_a, _b, _c, _d)  rtrequest1_fib(_a, _b, 
_c, _d)
+#define in_rt_check(_a, _b, _c, _d)rt_check_fib(_a, _b, _c, 
_d)



The defines will not give you a stable KPI and having that changed again
if you are going with a prefix for each AF would be a pain if the _fib 
versions

are going to change in the future.


hmm fair enough... but let me outline my plans and thoughts
so we can see if you still want this..

In order to get away from having every protocol (existing or not)
from preallocating N fib heads (currently it is done in protocol
independent code) the protocols themselves need to know if they are
allocating multiple FIBS and how many. For this reason,
the protocol versions will eventually know where their own
fibs are stored and act on them as needed, allowing them to be 
dynamically allocated. (as many as needed).

The methods for each protocol family woudl be pointed to in the
domain structure, and the protocol independent versions would look 
them up that way and call them..



so the domain structure would include:

struct domain {
[...]
*(struct rtentry *dom_rtalloc)(mumble);
[...]
};
(or whatever the syntax is (I always have to look it up)

in netinet we would declare

struct domain inet_domain = {
 [...]
 in_rtalloc,
 [...]
];

A new function find_domain(family)
makes a method independent way to find the domain structure for
any given PF/AF.

So rtalloc_fib would be:

struct rtentry *
rtalloc_fib( struct route *ro, int fib)
{
   struct domain *dp;
   dp = find_domain(ro-ro_dst.sa_family)
   if (dp)
   return (*(dp-dom_rtalloc)(ro, fib));
   return (NULL);
}

This all however is not ABI compatible so could not go back to 7.x
and I want to check in an initial version that can go back to 7.x
which sort of suggests to me that adding in_xxx functions is
not really required, until I do the next step.
7.x will never get the next step. because the ABI is already set
in stone for 7.x.

I would make the in_xxx stubs in the next step in 8.x.
after the MFC to 7.x of the ABI compat version.


let me know what you think.





___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with netgraph

2008-05-06 Thread David DeSimone
Julian Elischer [EMAIL PROTECTED] wrote:

 unfortunatly I've been totally  ignoring this thread because it said
 trouble with em in the topic..
 If you'd said trouble with mpd then maybe I'd have looked earlier..

In the poster's defense, the only symptom that started this was this
info from ps:

  PID USERNAME  THR PRI NICE   SIZERES STATE  C   TIME   WCPU COMMAND
   29 root1 -68- 0K16K CPU5   5 196:41 100.00% em0 taskq

So tracking it down to mpd has been a process of elimination in figuring
out why packets absorb so much CPU.

-- 
David DeSimone == Network Admin == [EMAIL PROTECTED]
This email message is intended for the use of the person to whom
 it has been sent, and may contain information that is confidential
 or legally protected.  If you are not the intended recipient or have
 received this message in error, you are not authorized to copy, dis-
 tribute, or otherwise use this message or its attachments.  Please
 notify the sender immediately by return e-mail and permanently delete
 this message and any attachments.  Verio, Inc. makes no warranty that
 this email is error or virus free.  Thank you.  --Lawyer Bot 6000
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: IPPROTO_DIVERT and PF_INET6

2008-05-06 Thread Bruce M. Simpson

Julian Elischer wrote:

you could implement a whole new protocol family of which there
was a single protocol..  divert.
That's sheer overkill for what Edwin needs to be able to do. We already 
have a bunch of apps which use divert sockets in the IPv4 space, why 
should the existing semantics change? Divert sockets are still tied to 
the transport you instantiate them with, and they have always been a 
special case anyway depending on where one wishes to draw the lines.


There is no reason per se, that I can see, why the IPPROTO_DIVERT 
identifier can't just be re-used along with pf_proto_register() for 
PF_INET6, and I've said this to Edwin off-list. A PROTO_SPACER entry 
just needs to be added to in6protosw.


I was surprised to learn no-one had gone ahead and actually implemented 
it already as there are a few cases in IPv6 which might warrant it 
(6to4, Teredo etc.) If I'm missing anything obvious please let me know.


cheers
BMS
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to [EMAIL PROTECTED]