Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
netkpikbi [2009/07/01 17:18] – Add sackhint. RobertWatsonnetkpikbi [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.  Without exposure via sysctl, might be **Extendable** but would need to review all protocols to make sure that is safe.  Is accessed from modules including firewalls, IPSEC, and TOE. | | struct inpcb | Padded | Allocated from a number of zones, depending on protocol type; exposed explicitly to userspace via xinpcb, xtcpcb via sysctl.  Without exposure via sysctl, might be **Extendable** but would need to review all protocols to make sure that is safe.  Is accessed from modules including firewalls, IPSEC, and TOE. |
-| struct inpcbinfo | Immutable | Embedded in struct vinet; accessed by user monitoring tools via KVM. |+| struct inpcbinfo | Extendable | Accessed by user monitoring tools via KVM. |
 | 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 | Embedded in struct vinet; user monitoring tools will access it via KVM in the future. |+| struct tcp_syncache | Extendable | User monitoring tools will access it via KVM 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. | | struct udpdb | Private | Currently allocated and accessed only by UDP/UDP6, but may be accessed via KVM by user monitoring tools in the future. |
  
  • netkpikbi.1246468723.txt.gz
  • Last modified: 2009/07/01 17:18
  • by RobertWatson