State of protocols (what backs socket(2)) in CURRENT
This page is to track work on various protocols. ATM, it is focused to track what protocols depend on soreceive_generic() and sosend_generic() with the goal to separate different protocols from each other.
protosw |
file |
type |
sockbuf |
pr_so(receive|send) |
notes |
TCP, TCP6 |
netinet/tcp_usrreq.c |
stream |
generic |
generic + pr_rcvd |
|
SCTP |
netinet/sctp_usrreq.c |
stream |
generic + private |
private |
the sockbuf can actually be made 100%, the generic part is a fake |
UDP |
netinet/udp_usrreq.c |
dgram |
generic |
so(receive|send)_dgram |
can we just rename the methods to UDP and copy them? Or better share with other dgram protos? |
raw IPv4 |
netinet/raw_ip.c |
dgram |
generic |
generic + pr_send |
|
raw IPv6 |
netinet6/raw_ip6.c |
dgram |
generic |
generic + pr_send |
|
IPv6 SeND |
netinet6/send.c |
dgram |
generic |
generic + pr_send |
seems similar to raw at first glance |
netgraph(4) |
netgraph/ng_socket.c |
dgram |
generic |
generic + pr_send |
|
route(4) |
net/rtsock.c |
dgram |
generic |
generic + pr_send |
|
Key |
netipsec/keysock.c |
dgram |
generic |
generic |
|
HyperV |
dev/hyperv/hvsock/hv_sock.c |
stream |
generic |
private |
|
Infiniband |
ofed/drivers/infiniband/ulp/sdp/sdp_main.c |
stream |
generic |
private + pr_send??? |
|
Bluetooth |
netgraph/bluetooth/socket/ng_btsocket.c |
raw, stream |
generic |
generic + pr_send |
the stream socket seems to be for accept(2) only |
ToE, ToE6 |
dev/cxgbe/tom/t4_tom.c |
stream |
generic |
generic |
is a gross hack over TCP protosw, should be fine once TCP is done |
unix(4) |
kern/uipc_usrreq.c |
stream, dgram |
private |
private |
|
Netlink |
netlink/netlink_domain.c |
dgram |
private |
private |
|