diff options
author | Pavel Tikhomirov <ptikhomirov@virtuozzo.com> | 2016-06-06 12:23:00 +0300 |
---|---|---|
committer | Pavel Emelyanov <xemul@virtuozzo.com> | 2016-06-28 13:12:26 +0300 |
commit | d7f9e824d31a2308d121561fe8eecda6fd7f1425 (patch) | |
tree | 33ed57bac686dd8a3d7d1bbd7d6d6a7e8bf4f4b9 /test | |
parent | 1c954ab8dd3136638f2cad64ec2397667f775149 (diff) |
zdtm/net/sysctl: add all to test and fix order
1. First save/check all,default,lo together and only after - set them,
as setting some sysctls can affect the others
2. Set "accept_redirects" after "forwarding" both for ipv4 and ipv6
3. Change order to "all", "default", "lo"
*One can not set ipv6.conf.all.stable_secret, so don't even try, see:
commit 622c81d57b39 ("ipv6: generation of stable privacy addresses for
link-local and autoconf")
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/zdtm/static/netns-dev.c | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/test/zdtm/static/netns-dev.c b/test/zdtm/static/netns-dev.c index d24abdf40..4efbeba7e 100644 --- a/test/zdtm/static/netns-dev.c +++ b/test/zdtm/static/netns-dev.c @@ -6,15 +6,16 @@ #define LO_CONF_DIR_PATH "/proc/sys/net/ipv4/conf/lo" #define DEF_CONF_DIR_PATH "/proc/sys/net/ipv4/conf/default" +#define ALL_CONF_DIR_PATH "/proc/sys/net/ipv4/conf/all" #define LO_CONF6_DIR_PATH "/proc/sys/net/ipv6/conf/lo" #define DEF_CONF6_DIR_PATH "/proc/sys/net/ipv6/conf/default" +#define ALL_CONF6_DIR_PATH "/proc/sys/net/ipv6/conf/all" #define INT_MAX ((int)(~0U>>1)) #define INT_MIN (-INT_MAX - 1) char *devconfs4[] = { "accept_local", - "accept_redirects", "accept_source_route", "arp_accept", "arp_announce", @@ -28,6 +29,7 @@ char *devconfs4[] = { "drop_unicast_in_l2_multicast", "force_igmp_version", "forwarding", + "accept_redirects", "igmpv2_unsolicited_report_interval", "igmpv3_unsolicited_report_interval", "ignore_routes_with_linkdown", @@ -54,7 +56,6 @@ struct range { struct range rand_range4[] = { {0, 1}, /* accept_local */ - {0, 1}, /* accept_redirects */ {-1, 0}, /* accept_source_route */ {0, 1}, /* arp_accept */ {0, 2}, /* arp_announce */ @@ -68,6 +69,7 @@ struct range rand_range4[] = { {0, 1}, /* drop_unicast_in_l2_multicast */ {0, INT_MAX}, /* force_igmp_version */ {0, 1}, /* forwarding */ + {0, 1}, /* accept_redirects */ {0, INT_MAX}, /* igmpv2_unsolicited_report_interval */ {0, INT_MAX}, /* igmpv3_unsolicited_report_interval */ {0, 1}, /* ignore_routes_with_linkdown */ @@ -96,7 +98,6 @@ char *devconfs6[] = { "accept_ra_pinfo", "accept_ra_rt_info_max_plen", "accept_ra_rtr_pref", - "accept_redirects", "accept_source_route", "autoconf", "dad_transmits", @@ -106,6 +107,7 @@ char *devconfs6[] = { "force_mld_version", "force_tllao", "forwarding", + "accept_redirects", "hop_limit", "ignore_routes_with_linkdown", "keep_addr_on_down", @@ -146,7 +148,6 @@ struct range rand_range6[] = { {0, 1}, /* accept_ra_pinfo */ {0, INT_MAX}, /* accept_ra_rt_info_max_plen */ {0, 1}, /* accept_ra_rtr_pref */ - {0, 1}, /* accept_redirects */ {-1, 0}, /* accept_source_route */ {0, 1}, /* autoconf */ {0, INT_MAX}, /* dad_transmits */ @@ -156,6 +157,7 @@ struct range rand_range6[] = { {0, 2}, /* force_mld_version */ {0, 1}, /* force_tllao */ {0, 1}, /* forwarding */ + {0, 1}, /* accept_redirects */ {1, 255}, /* hop_limit */ {0, 1}, /* ignore_routes_with_linkdown */ {-1, 1}, /* keep_addr_on_down */ @@ -187,7 +189,7 @@ struct test_conf { int ipv6_conf_rand[ARRAY_SIZE(devconfs6)]; char *dir4; char *dir6; -} lo, def; +} lo, def, all; static int save_conf(FILE *fp, int *conf, int *conf_rand, struct range *range, char *path) { @@ -432,53 +434,69 @@ int main(int argc, char **argv) lo.dir4 = LO_CONF_DIR_PATH; def.dir4 = DEF_CONF_DIR_PATH; + all.dir4 = ALL_CONF_DIR_PATH; lo.dir6 = LO_CONF6_DIR_PATH; def.dir6 = DEF_CONF6_DIR_PATH; + all.dir6 = ALL_CONF6_DIR_PATH; test_init(argc, argv); - ret = for_each_option_do(save_conf, &lo); + ret = for_each_option_do(save_conf, &all); if (ret < 0) return -1; - ret = for_each_option_do(gen_conf, &lo); + ret = for_each_option_do(save_conf, &def); if (ret < 0) return -1; - ret = set_stable_secret(&lo); + ret = for_each_option_do(save_conf, &lo); if (ret < 0) return -1; - ret = for_each_option_do(save_conf, &def); + ret = for_each_option_do(gen_conf, &all); if (ret < 0) return -1; ret = for_each_option_do(gen_conf, &def); if (ret < 0) return -1; + ret = for_each_option_do(gen_conf, &lo); + if (ret < 0) + return -1; + ret = set_stable_secret(&def); if (ret < 0) return -1; + ret = set_stable_secret(&lo); + if (ret < 0) + return -1; test_daemon(); test_waitsig(); - ret = for_each_option_do(check_conf, &lo); + ret = for_each_option_do(check_conf, &all); if (ret < 0) return -1; - ret = for_each_option_do(restore_conf, &lo); + ret = for_each_option_do(check_conf, &def); if (ret < 0) return -1; - ret = check_stable_secret(&lo); + ret = for_each_option_do(check_conf, &lo); if (ret < 0) return -1; - ret = for_each_option_do(check_conf, &def); + ret = for_each_option_do(restore_conf, &all); if (ret < 0) return -1; ret = for_each_option_do(restore_conf, &def); if (ret < 0) return -1; + ret = for_each_option_do(restore_conf, &lo); + if (ret < 0) + return -1; + ret = check_stable_secret(&def); if (ret < 0) return -1; + ret = check_stable_secret(&lo); + if (ret < 0) + return -1; pass(); return 0; |