Unless promote_secondaries has been active deleting the primary address of an interface will automatically delete all the secondary addresses. In the case where ip flush requests the primary then secondary addresses to be removed - which is the order the addresses are returned by the kernel - this will cause an error as by the time the request to remove a secondary address is made it will be missing as it will have been deleted in the course of deleting the primary address. This approach to solving this problem orders requests for the deletion of secondary addresses before primary ones providing rtnl_dump_filter_l(), a version of rtnl_dump_filter() that iterates over a list of filters. And by providing two specialised filters print_addrinfo_secondary() and print_addrinfo_primary(). rtnl_dump_filter_l() first iterates over all addresses using print_addrinfo_secondary(), which appends secondary addresses to the request buffer. Then again using print_addrinfo_primary() which appends primary addresses. This approach should work regardless of it promote_secondaries is active or not. And regardless of if any primary of secondary addresses are present or not. Signed-off-by: Simon Horman <horms@verge.net.au> |
||
|---|---|---|
| doc | ||
| etc/iproute2 | ||
| examples | ||
| genl | ||
| include | ||
| ip | ||
| lib | ||
| man | ||
| misc | ||
| netem | ||
| tc | ||
| testsuite | ||
| .gitignore | ||
| COPYING | ||
| ChangeLog | ||
| Makefile | ||
| README | ||
| README.decnet | ||
| README.distribution | ||
| README.iproute2+tc | ||
| README.lnstat | ||
| RELNOTES | ||
| configure | ||
README
Primary site is: http://developer.osdl.org/dev/iproute2 Original FTP site is: ftp://ftp.inr.ac.ru/ip-routing/ How to compile this. -------------------- 1. Look at start of Makefile and set correct values for: KERNEL_INCLUDE should point to correct linux kernel include directory. Default (/usr/src/linux/include) is right as rule. arpd needs to have the db4 development libraries. For debian users this is the package with a name like libdb4.x-dev. DBM_INCLUDE points to the directory with db_185.h which is the include file used by arpd to get to the old format Berkely database routines. Often this is in the db-devel package. 2. make The makefile will automatically build a file Config which contains whether or not ATM is available, etc. 3. To make documentation, cd to doc/ directory , then look at start of Makefile and set correct values for PAGESIZE=a4 , ie: a4 , letter ... (string) PAGESPERPAGE=2 , ie: 1 , 2 ... (numeric) and make there. It assumes, that latex, dvips and psnup are in your path. Stephen Hemminger shemminger@osdl.org Alexey Kuznetsov kuznet@ms2.inr.ac.ru