How many packets can be written into Kernel sockets per second?
Hi,
Its been a long time since i programmed a multithreaded application that can do Tx and Rx of datagrams over unix sockets.
I well remember that though the threads were efficiently designed to be independent of each other, and was writing to different sockets, there was a limitation , which i remember that only 3000 approximate datagrams/packets can be sent/received between the host application and the kernel - which i came to know from some forums, and infact, our timers used to expire due to non-reception of approx >3000 packets if it was configured - reason being the kernel to host transfer of the packets were slow.
Before i could attempt figuring out that again, wanted to ask if anyone knows a theoretical limitation seen by the linux kernels?
In other terms, what is the max data transfer rate between the Kernel space and user space through the various IPC mechanisms?
If i don't get to know that, i may end up doing an assumption.
Hi everyone,
I am trying to prevent the ehci_hcd kernel module to load at boot time.
Here's what I've tried so far:
1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here):
2) Blacklisted the module by adding the following string to
3) Tried to blacklist the module... (0 Replies)
I have made an packet capture application running on intel machine, it is capturing packets with src address- 17.0.0.0 destination ip- 66.0.0.0, source port- 0, destination port- 0, and protocol- 0 what does these packets mean ?
The code written to interpreter captured bytes is given below.... (5 Replies)
hi all
syslog is not getting written.
i am getting following two logs snmpd.log & authlog logs.
please tell what are two logs snmpd.log & authlog logs.
why syslog is not written. (16 Replies)
Hi, im trying to lern about raw sockets with my debian and c++. Tried to make a icmp and tcp packet and send it with sendto. Checked on wireshark and recognized that kernel changed my headers. So searched about stopping the kernel change the header and tried it with setsockopt, like said in at this... (4 Replies)
Hi gurus
Could anybody tell me which file is read by kernel to set its default system kernal parameters values in solaris. Here I am not taking about /etc/system file which is used to load kernal modules or to change any default system kernal parameter value
Is it /dev/kmem file or something... (1 Reply)
Hi All,
Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff.
Cheers,
Brendan (4 Replies)
there are a number of clients connected to a server.... how can i count that each clients recieve ...? how do i moniter the activity of the client..? (2 Replies)
I am working on a project, which has the following type of hardware setup.
A special hardware device is receiving data from an external network interface. So we can have multiple such a hardware devices. Now these hardware devices will route the captured incoming data through the external... (4 Replies)
Hello,
Which command in unix can tell whether a file is being used/written by another process.
e.g. If one process is copying a very big file in some directory and there is another cronjob process which checks for a new file and in this directory and process the file. I want to check, if the... (4 Replies)
IRDA(7) Linux-IrDA man pages IRDA(7)NAME
irda - The Linux-IrDA protocol stack
SYNOPSIS
#include <linux/irda.h>
stream_s = socket(PF_INET, SOCK_STREAM, 0);
seqpkt_s = socket(PF_INET, SOCK_SEQPACKET, 0);
dgram_s = socket(PF_INET, SOCK_DGRAM, IRDAPROTO_UNITDATA);
ultra_s = socket(PF_INET, SOCK_DGRAM, IRDAPROTO_ULTRA);
DESCRIPTION
Linux-IrDA is a complete implementation of the various IrDA protocols and IrDA drivers for Linux.
The configuration of the low level of the IrDA stack (IrDA ports) and the various IrDA drivers are described in irattach(8).
The usage of the higher layers of the IrDA stack (IrCOMM, IrLPT, IrNET, IrLAN, OBEX...) are described in their respective man pages.
The core of the Linux-IrDA protocol stack is composed of the IrLAP, IrLMP, IrTTP and IrIAS protocols and is implemented as a kernel module.
The programmer's interface for the IrDA stack is socket based. For more information on sockets, see socket(7).
Note that higher level IrDA protocols may offer a different programmer's interface. For example IrCOMM offers a TTY based interface and
OBEX is available through a user space library.
SOCKETS TYPE
The Linux-IrDA socket interface offers 4 types of sockets:
Stream socket - SOCK_STREAM, 0
Stream sockets provides a reliable, stream oriented, full duplex connection between two sockets on top of IrTTP, similar to TCP
sockets. IrTTP guarantees that the data arrives in order and manages flow contol, IrLAP retransmits lost packets.
Stream sockets does not preserve record boundaries.
SeqPacket socket - SOCK_SEQPACKET, 0
SeqPacket sockets provides a reliable, datagram oriented, full duplex connection between two sockets on top of IrTTP. IrTTP guaran-
tees that the data arrives in order and manages flow contol, IrLAP retransmits lost packets.
SeqPacket sockets preserve record boundaries. Large datagrams will be fragmented as needed.
Datagram socket - SOCK_DGRAM, IRDAPROTO_UNITDATA
SeqPacket sockets provides a reliable, datagram oriented, full duplex connection between two sockets on top of IrLMP. There is no
guarantees that the data arrives in order and there is no flow contol, however IrLAP retransmits lost packets.
Datagram sockets preserve record boundaries. No fragmentation is provided, datagrams larger than the IrDA link MTU are truncated or
discarded.
Ultra socket - SOCK_DGRAM, IRDAPROTO_ULTRA
Ultra sockets provides a connectionless, unreliable datagram packet service on top of IrLAP-Ultra. Ultra datagrams are sent and
receive only when no IrLAP connection is established and otherwise discarded. They are always transmitted at 9600 bauds. Datagrams
may be lost, reordered, and there is no flow control.
Ultra sockets preserve record boundaries. No fragmentation is provided, datagrams larger than the Ultra MTU (382 bytes) are trun-
cated or discarded.
ADDRESS FORMAT
An IrDA socket address is defined as a combination of an IrDA interface address and a service name. Service names are automatically
resolved to lsap through the IrIAP protocol.
struct sockaddr_irda {
sa_family_t sir_family; /* AF_IRDA */
__u8 sir_lsap_sel; /* LSAP selector */
__u32 sir_addr; /* Device address */
char sir_name[25]; /* Usually <service>:IrDA:TinyTP */
};
sin_family is always set to AF_IRDA. sir_lsap_sel is usually not used. sir_addr is the address of the peer and optional (and that case
the first peer discoverd will be used). sir_name is the service name of the socket.
SOCKET OPTIONS
IrDA sockets supports some protocol specific socket options that can be set with setsockopt(2) and read with getsockopt(2). The socket
option level for IrDA is SOL_IRLMP.
Options that can be set:
IRLMP_IAS_SET
Set an entry in the local IAS database.
IRLMP_IAS_DEL
Delete an entry from the local IAS database.
IRLMP_MAX_SDU_SIZE
Set maximum receive MTU for SeqPacket sockets.
IRLMP_HINTS_SET
Set IrDA hint bits to be advertised to peers.
IRLMP_HINT_MASK_SET
Set IrDA hint bits filter to be used when performing discovery.
Options that can be get:
IRLMP_ENUMDEVICES
Perform link level discovery and return the content of the discovery log.
IRLMP_MAX_SDU_SIZE
Get maximum receive MTU.
IRLMP_IAS_GET
Get an entry from the local IAS database.
IRLMP_IAS_QUERY
Query an entry in IAS database of a peer using IrIAP.
IRLMP_WAITDEVICE
Block until a new device is discovered. Experimental feature, use with caution.
AUTHOR
Jean Tourrilhes - jt@hpl.hp.com
SEE ALSO irattach(8), irdadump(8), irnet(4), irnetd(8).
irda-utils 2 May 2003 IRDA(7)