diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-08-14 22:12:26 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-08-14 22:12:26 -0700 |
commit | 971f424319fad8bb0c9b593235080b0ce6394501 (patch) | |
tree | f3e79d58dd836574ddcc04c5b91496c2f520ab59 /doc/ipconfig-api.txt | |
parent | a4c2f9ece63554272d206f197e0ed4712a551a43 (diff) | |
download | connman-971f424319fad8bb0c9b593235080b0ce6394501.tar.gz connman-971f424319fad8bb0c9b593235080b0ce6394501.tar.bz2 connman-971f424319fad8bb0c9b593235080b0ce6394501.zip |
Add initial text for IP handling documentation
Diffstat (limited to 'doc/ipconfig-api.txt')
-rw-r--r-- | doc/ipconfig-api.txt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/ipconfig-api.txt b/doc/ipconfig-api.txt new file mode 100644 index 00000000..179e86fc --- /dev/null +++ b/doc/ipconfig-api.txt @@ -0,0 +1,41 @@ +IP configuration handling +************************* + + +IP basics +========= + +The core IP handling is designed around network interfaces or more precise +what the Linux kernel handles as struct net_device. Via RTNL every interface +is tracked and an IP device created for it. + + +--------+ +---- eth0 -----+ + | | | | + | RTNL +-----+---->| IP device | + | | | | | + +--------+ | +---------------+ + | + | +---- wlan0 ----+ + | | | + +---->| IP device | + | | + +---------------+ + +The IP device tracks link configuration, IP address setting and routing +information for that interface. Every IP device also contains a configuration +element. That element contains an operation table for callbacks based on +different events. + + struct connman_ipconfig_ops { + void (*up) (struct connman_ipconfig *); + void (*down) (struct connman_ipconfig *); + void (*lower_up) (struct connman_ipconfig *); + void (*lower_down) (struct connman_ipconfig *); + void (*ip_bound) (struct connman_ipconfig *); + void (*ip_release) (struct connman_ipconfig *); + }; + +All configuration objects created directly by RTNL are tightly bound to the +IP device. They will trigger DHCP or other configuration helpers. + + |