Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| netkpikbi [2009/07/01 17:18] – Add sackhint. RobertWatson | netkpikbi [2009/08/01 11:04] (current) – Downgrade KBI status from immutable to extendable for some global structs due to removal of vinet.h RobertWatson | ||
|---|---|---|---|
| Line 61: | Line 61: | ||
| | struct in_ifaddr | Extendable | Allocated only by in.c, but used in many places in net, netinet, netipsec. | | | struct in_ifaddr | Extendable | Allocated only by in.c, but used in many places in net, netinet, netipsec. | | ||
| | struct inpcb | Padded | Allocated from a number of zones, depending on protocol type; exposed explicitly to userspace via xinpcb, xtcpcb via sysctl. | | struct inpcb | Padded | Allocated from a number of zones, depending on protocol type; exposed explicitly to userspace via xinpcb, xtcpcb via sysctl. | ||
| - | | struct inpcbinfo | Immutable | + | | struct inpcbinfo | Extendable |
| | struct ipq | Extendable | Allocated only by ip_input.c, but some fields read by MAC policy modules. | | | struct ipq | Extendable | Allocated only by ip_input.c, but some fields read by MAC policy modules. | | ||
| | struct sackhint | Padded | Used only inside of TCP, but embedded in struct tcpcb so is exposed to userspace and other kernel modules with tcpcb visibility. | | | struct sackhint | Padded | Used only inside of TCP, but embedded in struct tcpcb so is exposed to userspace and other kernel modules with tcpcb visibility. | | ||
| Line 71: | Line 71: | ||
| | struct tcpopt | Padded | Allocated and used only within TCP -- except for TOE modules, also allocated it (on the stack) and pass it into syncache entry initialization. | | | struct tcpopt | Padded | Allocated and used only within TCP -- except for TOE modules, also allocated it (on the stack) and pass it into syncache entry initialization. | | ||
| | struct tcptw | Private | Currently allocated and accessed only by TCP, but may be accessed via KVM by user monitoring tools in the future. | | | struct tcptw | Private | Currently allocated and accessed only by TCP, but may be accessed via KVM by user monitoring tools in the future. | | ||
| - | | struct tcp_syncache | Immutable | + | | struct tcp_syncache | Extendable |
| | struct udpdb | Private | Currently allocated and accessed only by UDP/UDP6, but may be accessed via KVM by user monitoring tools in the future. | | | struct udpdb | Private | Currently allocated and accessed only by UDP/UDP6, but may be accessed via KVM by user monitoring tools in the future. | | ||