1 IP configuration handling
2 *************************
8 The core IP handling is designed around network interfaces or more precisely
9 what the Linux kernel handles as struct net_device. Via RTNL every interface
10 is tracked and an IP device created for it.
12 +--------+ +---- eth0 -----+
14 | RTNL +-----+---->| IP device |
16 +--------+ | +---------------+
24 The IP device tracks link configuration, IP address setting and routing
25 information for that interface. Every IP device also contains a configuration
26 element. That element contains an operation table for callbacks based on
29 struct connman_ipconfig_ops {
30 void (*up) (struct connman_ipconfig *);
31 void (*down) (struct connman_ipconfig *);
32 void (*lower_up) (struct connman_ipconfig *);
33 void (*lower_down) (struct connman_ipconfig *);
34 void (*ip_bound) (struct connman_ipconfig *);
35 void (*ip_release) (struct connman_ipconfig *);
38 All configuration objects created directly by RTNL are tightly bound to the
39 IP device. They will trigger DHCP or other configuration helpers.