[Xorp-cvs] XORP cvs commit: xorp/fea xorp/fea/data_plane/fibconfig xorp/fea/data_plane/ifconfig
Pavlin Radoslavov
pavlin at icir.org
Thu May 8 15:46:38 PDT 2008
CVSROOT: /usr/local/www/data/cvs
Module name: xorp
Changes by: pavlin at chum.icir.org 2008-05-08 22:46:38 UTC
XORP CVS repository
Modified files:
fea TODO fea_node.cc fibconfig.cc fibconfig.hh
ifconfig.cc ifconfig.hh ifconfig_transaction.hh
iftree.cc iftree.hh xrl_fea_target.cc
fea/data_plane/fibconfig fibconfig_entry_get_iphelper.cc
fibconfig_entry_get_netlink_socket.cc
fibconfig_entry_get_routing_socket.cc
fibconfig_entry_get_rtmv2.cc
fibconfig_entry_set_iphelper.cc
fibconfig_entry_set_netlink_socket.cc
fibconfig_entry_set_routing_socket.cc
fibconfig_entry_set_rtmv2.cc
fibconfig_table_get_iphelper.cc
fibconfig_table_get_netlink_socket.cc
fibconfig_table_get_sysctl.cc
fibconfig_table_observer_netlink_socket.cc
fibconfig_table_observer_routing_socket.cc
fibconfig_table_observer_rtmv2.cc
fea/data_plane/ifconfig ifconfig_get_dummy.cc
ifconfig_observer_netlink_socket.cc
ifconfig_observer_routing_socket.cc
ifconfig_set.cc ifconfig_set_click.cc
ifconfig_set_dummy.cc
ifconfig_set_ioctl.cc
ifconfig_set_netlink_socket.cc
Log message:
Refactor/fix the mechanism for configuring/updating the
network interface information:
* Reduced the number of IfTree copies kept by IfConfig:
- user_config_tree : contains the user configuration, and is
modified only by the user.
- system_config_tree : contains the currenty interface configuration
in the underlying system. It is modified when explicitly the
interface information is pulled from the system, or when
asynchronous upcalls are received from the kernel.
- merged_config_tree : contains the merged information from the
above two. E.g, it contains a subset of the interfaces/addresses
(only those that are configured by the user), but some of the
information is filled-in from the system config tree (e.g.,
the physical interface index, the NO-CARRIER status, etc).
* Removed the "flipped" IfTree interface flag, because it adds
extra complexity. Typically, if the interface configuration plugin
has to explicitly disable and then enable an interface (e.g.,
on Linux when the MTU or MAC address is changed), this event
will be captured by the IfConfigObserver and propagated to
the registered protocols. Note that we must capture and
propagate that event because the Linux kernel will remove
all routes that point toward the interface that has been
disabled; a properly behaving protocol implementation should
capture the disable/enable interface event and then push
the routes that point to the affected interface.
* Refactor/add new IfTree methods for proper merging of the user
and system configuration into the merged tree.
The above changes fix a number of bugs that are related to
the interface configuration: Bugzilla entry #196, #585, #633.
Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=196
Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=585
Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=633
Revision Changes Path
1.36 +1 -12; commitid: 144ed48237e6541a7; xorp/fea/TODO
1.12 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_get_iphelper.cc
1.18 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_get_netlink_socket.cc
1.15 +3 -4; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_get_routing_socket.cc
1.17 +3 -4; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_get_rtmv2.cc
1.13 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_set_iphelper.cc
1.18 +4 -4; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_set_netlink_socket.cc
1.18 +4 -4; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_set_routing_socket.cc
1.19 +4 -4; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_set_rtmv2.cc
1.14 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_get_iphelper.cc
1.14 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_get_netlink_socket.cc
1.15 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_get_sysctl.cc
1.15 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_observer_netlink_socket.cc
1.15 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_observer_routing_socket.cc
1.16 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/fibconfig/fibconfig_table_observer_rtmv2.cc
1.11 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_get_dummy.cc
1.16 +12 -9; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_observer_netlink_socket.cc
1.15 +12 -9; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_observer_routing_socket.cc
1.22 +68 -71; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_set.cc
1.19 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_set_click.cc
1.17 +2 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_set_dummy.cc
1.16 +1 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_set_ioctl.cc
1.20 +1 -2; commitid: 144ed48237e6541a7; xorp/fea/data_plane/ifconfig/ifconfig_set_netlink_socket.cc
1.18 +6 -6; commitid: 144ed48237e6541a7; xorp/fea/fea_node.cc
1.19 +5 -5; commitid: 144ed48237e6541a7; xorp/fea/fibconfig.cc
1.19 +14 -13; commitid: 144ed48237e6541a7; xorp/fea/fibconfig.hh
1.83 +77 -137; commitid: 144ed48237e6541a7; xorp/fea/ifconfig.cc
1.79 +43 -55; commitid: 144ed48237e6541a7; xorp/fea/ifconfig.hh
1.20 +3 -3; commitid: 144ed48237e6541a7; xorp/fea/ifconfig_transaction.hh
1.60 +681 -138; commitid: 144ed48237e6541a7; xorp/fea/iftree.cc
1.63 +118 -38; commitid: 144ed48237e6541a7; xorp/fea/iftree.hh
1.44 +24 -24; commitid: 144ed48237e6541a7; xorp/fea/xrl_fea_target.cc
More information about the Xorp-cvs
mailing list