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 | |
parent | a4c2f9ece63554272d206f197e0ed4712a551a43 (diff) | |
download | connman-971f424319fad8bb0c9b593235080b0ce6394501.tar.gz connman-971f424319fad8bb0c9b593235080b0ce6394501.tar.bz2 connman-971f424319fad8bb0c9b593235080b0ce6394501.zip |
Add initial text for IP handling documentation
-rw-r--r-- | doc/Makefile.am | 11 | ||||
-rw-r--r-- | doc/ipconfig-api.txt | 41 |
2 files changed, 48 insertions, 4 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index 0696488e..16b0fb17 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -37,7 +37,10 @@ else EXTRA_DIST = $(DOC_MAIN_SGML_FILE) connman-introduction.xml endif -EXTRA_DIST += overview-api.txt behavior-api.txt plugin-api.txt \ - manager-api.txt profile-api.txt service-api.txt \ - device-lowlevel-api.txt network-lowlevel-api.txt \ - connection-lowlevel-api.txt agent-api.txt +EXTRA_DIST += overview-api.txt behavior-api.txt \ + ipconfig-api.txt plugin-api.txt \ + manager-api.txt agent-api.txt \ + profile-api.txt service-api.txt \ + device-lowlevel-api.txt \ + network-lowlevel-api.txt \ + connection-lowlevel-api.txt 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. + + |