about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorUli Baum <xeji@cat3.de>2018-09-02 12:13:06 +0200
committerUli Baum <xeji@cat3.de>2018-09-02 12:26:28 +0200
commit13c3986b7a7da4f29005349674b334b6b914a371 (patch)
treec3cde4a7c645e3ff931f260ca5a9087df11035ba /nixos
parent8938eede285fbd2f4e58da0663921d980f9a3f7d (diff)
downloadnixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar.gz
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar.bz2
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar.lz
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar.xz
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.tar.zst
nixlib-13c3986b7a7da4f29005349674b334b6b914a371.zip
nixos/tests/networking.*.macvlan: disable reverse path check
Generated reverse path filtering rules for the macvlan interface
seem to be incorrect, causing the test to fail - sometimes or always,
depending on the dhcpcd version used.
- Disable reverse path checking temporarily to avoid blocking the channel
- Print more diagnostic information for debugging
Diffstat (limited to 'nixos')
-rw-r--r--nixos/tests/networking.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index ff088ad2621b..02bd4bd98079 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -11,6 +11,7 @@ let
     let
       vlanIfs = range 1 (length config.virtualisation.vlans);
     in {
+      environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
       virtualisation.vlans = [ 1 2 3 ];
       boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
       networking = {
@@ -320,9 +321,14 @@ let
       name = "MACVLAN";
       nodes.router = router;
       nodes.client = { pkgs, ... }: with pkgs.lib; {
+        environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
+          firewall.logReversePathDrops = true; # to debug firewall rules
+          # reverse path filtering rules for the macvlan interface seem
+          # to be incorrect, causing the test to fail. Disable temporarily.
+          firewall.checkReversePath = false;
           firewall.allowPing = true;
           useDHCP = true;
           macvlans.macvlan.interface = "eth1";
@@ -341,9 +347,16 @@ let
           $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
           $client->waitUntilSucceeds("ip addr show dev macvlan | grep -q '192.168.1'");
 
-          # Print diagnosting information
+          # Print lots of diagnostic information
+          $router->log('**********************************************');
           $router->succeed("ip addr >&2");
+          $router->succeed("ip route >&2");
+          $router->execute("iptables-save >&2");
+          $client->log('==============================================');
           $client->succeed("ip addr >&2");
+          $client->succeed("ip route >&2");
+          $client->execute("iptables-save >&2");
+          $client->log('##############################################');
 
           # Test macvlan creates routable ips
           $client->waitUntilSucceeds("ping -c 1 192.168.1.1");