← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1716401] [NEW] FWaaS: Ip tables rules do not get updated in case of distributed virtual routers (DVR)

 

Public bug reported:

I have set up an HA/DVR deployment of OpenStack Pike on Ubuntu 16.04 and
enabled FWaaS v1. After applying the Fix from Bug #1715395, firewall
rules get created in case of HA/DVR, but updates do not have any effect,
e.g. when you disassociate a firewall from a distributed router.

Use Case:
1. Set up an HA/DVP deployment of OpenStack Pike.

2. Create a firewall rule.
$ neutron firewall-rule-create --name test-rule --protocol icmp --action reject
Created a new firewall_rule:
+------------------------+--------------------------------------+
| Field                  | Value                                |
+------------------------+--------------------------------------+
| action                 | reject                               |
| description            |                                      |
| destination_ip_address |                                      |
| destination_port       |                                      |
| enabled                | True                                 |
| firewall_policy_id     |                                      |
| id                     | 6c2516cb-b69d-46b6-958e-e47c1cf1709e |
| ip_version             | 4                                    |
| name                   | test-rule                            |
| position               |                                      |
| project_id             | ed2d2efd86dd40e7a45491d8502318d3     |
| protocol               | icmp                                 |
| shared                 | False                                |
| source_ip_address      |                                      |
| source_port            |                                      |
| tenant_id              | ed2d2efd86dd40e7a45491d8502318d3     |
+------------------------+--------------------------------------+

3. Create a firewall policy.
$ neutron firewall-policy-create --firewall-rules test-rule test-policy
Created a new firewall_policy:
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| audited        | False                                |
| description    |                                      |
| firewall_rules | 6c2516cb-b69d-46b6-958e-e47c1cf1709e |
| id             | 53a8d733-e81c-4113-9354-d40b5b426e00 |
| name           | test-policy                          |
| project_id     | ed2d2efd86dd40e7a45491d8502318d3     |
| shared         | False                                |
| tenant_id      | ed2d2efd86dd40e7a45491d8502318d3     |
+----------------+--------------------------------------+

4. Create a firewall.
$  neutron firewall-create --name test-firewall test-policy
Created a new firewall:
+--------------------+--------------------------------------+
| Field              | Value                                |
+--------------------+--------------------------------------+
| admin_state_up     | True                                 |
| description        |                                      |
| firewall_policy_id | 53a8d733-e81c-4113-9354-d40b5b426e00 |
| id                 | a468caca-c555-4f89-adbc-bcdbb06a3fca |
| name               | test-firewall                        |
| project_id         | ed2d2efd86dd40e7a45491d8502318d3     |
| router_ids         |                                      |
| status             | INACTIVE                             |
| tenant_id          | ed2d2efd86dd40e7a45491d8502318d3     |
+--------------------+--------------------------------------+

5. Assign the firewall to a distributed router.
$ neutron firewall-update --router demo-router test-firewall
Updated firewall: test-firewall

6. Spawn a virtual machine and assign a floating ip.

7. Check namespaces on the compute node hosting the virtual machine.
$ ip netns
fip-4a3959c3-b011-4bd0-8f4f-f405be92d9ac
qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641

8. Check ip tables rules in the router's namespace.
$ ip netns exec qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641 iptables -n -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 neutron-l3-agent-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 40 packets, 2400 bytes)
 pkts bytes target     prot opt in     out     source               destination
  185 11100 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  185 11100 neutron-l3-agent-FORWARD  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-filter-top (2 references)
 pkts bytes target     prot opt in     out     source               destination
  185 11100 neutron-l3-agent-local  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-FORWARD (1 references)
 pkts bytes target     prot opt in     out     source               destination
  185 11100 neutron-l3-agent-scope  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-iv465d8c835  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
   39  2340 neutron-l3-agent-ov465d8c835  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-fwaas-defau  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-fwaas-defau  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-INPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x1/0xffff
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9697

Chain neutron-l3-agent-OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain neutron-l3-agent-fwaas-defau (2 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-iv465d8c835 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain neutron-l3-agent-local (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain neutron-l3-agent-ov465d8c835 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   39  2340 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain neutron-l3-agent-scope (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      rfp-09a379b5-9  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000
    0     0 DROP       all  --  *      qr-2cd58562-ad  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000

9. Disassociate the firewall from the router.
$ neutron firewall-update --no-routers test-firewall
Updated firewall: test-firewall

10. Recheck ip tables rules within router's namespace.
$ ip netns exec qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641 iptables -n -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 neutron-l3-agent-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 127 packets, 7668 bytes)
 pkts bytes target     prot opt in     out     source               destination
  698 41976 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  698 41976 neutron-l3-agent-FORWARD  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-filter-top (2 references)
 pkts bytes target     prot opt in     out     source               destination
  698 41976 neutron-l3-agent-local  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-FORWARD (1 references)
 pkts bytes target     prot opt in     out     source               destination
  698 41976 neutron-l3-agent-scope  all  --  *      *       0.0.0.0/0            0.0.0.0/0
   99  5988 neutron-l3-agent-iv465d8c835  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
  366 21960 neutron-l3-agent-ov465d8c835  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0
   99  5988 neutron-l3-agent-fwaas-defau  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
    0     0 neutron-l3-agent-fwaas-defau  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-INPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x1/0xffff
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9697

Chain neutron-l3-agent-OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain neutron-l3-agent-fwaas-defau (2 references)
 pkts bytes target     prot opt in     out     source               destination
   99  5988 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain neutron-l3-agent-iv465d8c835 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain neutron-l3-agent-local (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain neutron-l3-agent-ov465d8c835 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
  366 21960 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain neutron-l3-agent-scope (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      rfp-09a379b5-9  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000
    0     0 DROP       all  --  *      qr-2cd58562-ad  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000

11. The iptables rules "0 0 REJECT icmp --  * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable" is still active, although the firewall has been successfully disassociated from the distributed router.
$ neutron firewall-show test-firewall
+--------------------+--------------------------------------+
| Field              | Value                                |
+--------------------+--------------------------------------+
| admin_state_up     | True                                 |
| description        |                                      |
| firewall_policy_id | 53a8d733-e81c-4113-9354-d40b5b426e00 |
| id                 | a468caca-c555-4f89-adbc-bcdbb06a3fca |
| name               | test-firewall                        |
| project_id         | ed2d2efd86dd40e7a45491d8502318d3     |
| router_ids         |                                      |
| status             | INACTIVE                             |
| tenant_id          | ed2d2efd86dd40e7a45491d8502318d3     |
+--------------------+--------------------------------------+


12. The "neutron-l3-agent.log" on the compute node does not contain any entries regarding FWaaS. Any updates of a firewall or of its policies and rules do not have any effect when using distributed virtual routers (DVR).

May someone please have a look?

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: fwaas l3-dvr-backlog l3-ha

** Summary changed:

- FWaaS: Ip tables rules do not get updated in case of distributed routers (DVR)
+ FWaaS: Ip tables rules do not get updated in case of distributed virtual routers (DVR)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1716401

Title:
  FWaaS: Ip tables rules do not get updated in case of distributed
  virtual routers (DVR)

Status in neutron:
  New

Bug description:
  I have set up an HA/DVR deployment of OpenStack Pike on Ubuntu 16.04
  and enabled FWaaS v1. After applying the Fix from Bug #1715395,
  firewall rules get created in case of HA/DVR, but updates do not have
  any effect, e.g. when you disassociate a firewall from a distributed
  router.

  Use Case:
  1. Set up an HA/DVP deployment of OpenStack Pike.

  2. Create a firewall rule.
  $ neutron firewall-rule-create --name test-rule --protocol icmp --action reject
  Created a new firewall_rule:
  +------------------------+--------------------------------------+
  | Field                  | Value                                |
  +------------------------+--------------------------------------+
  | action                 | reject                               |
  | description            |                                      |
  | destination_ip_address |                                      |
  | destination_port       |                                      |
  | enabled                | True                                 |
  | firewall_policy_id     |                                      |
  | id                     | 6c2516cb-b69d-46b6-958e-e47c1cf1709e |
  | ip_version             | 4                                    |
  | name                   | test-rule                            |
  | position               |                                      |
  | project_id             | ed2d2efd86dd40e7a45491d8502318d3     |
  | protocol               | icmp                                 |
  | shared                 | False                                |
  | source_ip_address      |                                      |
  | source_port            |                                      |
  | tenant_id              | ed2d2efd86dd40e7a45491d8502318d3     |
  +------------------------+--------------------------------------+

  3. Create a firewall policy.
  $ neutron firewall-policy-create --firewall-rules test-rule test-policy
  Created a new firewall_policy:
  +----------------+--------------------------------------+
  | Field          | Value                                |
  +----------------+--------------------------------------+
  | audited        | False                                |
  | description    |                                      |
  | firewall_rules | 6c2516cb-b69d-46b6-958e-e47c1cf1709e |
  | id             | 53a8d733-e81c-4113-9354-d40b5b426e00 |
  | name           | test-policy                          |
  | project_id     | ed2d2efd86dd40e7a45491d8502318d3     |
  | shared         | False                                |
  | tenant_id      | ed2d2efd86dd40e7a45491d8502318d3     |
  +----------------+--------------------------------------+

  4. Create a firewall.
  $  neutron firewall-create --name test-firewall test-policy
  Created a new firewall:
  +--------------------+--------------------------------------+
  | Field              | Value                                |
  +--------------------+--------------------------------------+
  | admin_state_up     | True                                 |
  | description        |                                      |
  | firewall_policy_id | 53a8d733-e81c-4113-9354-d40b5b426e00 |
  | id                 | a468caca-c555-4f89-adbc-bcdbb06a3fca |
  | name               | test-firewall                        |
  | project_id         | ed2d2efd86dd40e7a45491d8502318d3     |
  | router_ids         |                                      |
  | status             | INACTIVE                             |
  | tenant_id          | ed2d2efd86dd40e7a45491d8502318d3     |
  +--------------------+--------------------------------------+

  5. Assign the firewall to a distributed router.
  $ neutron firewall-update --router demo-router test-firewall
  Updated firewall: test-firewall

  6. Spawn a virtual machine and assign a floating ip.

  7. Check namespaces on the compute node hosting the virtual machine.
  $ ip netns
  fip-4a3959c3-b011-4bd0-8f4f-f405be92d9ac
  qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641

  8. Check ip tables rules in the router's namespace.
  $ ip netns exec qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641 iptables -n -L -v
  Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
   pkts bytes target     prot opt in     out     source               destination
      0     0 neutron-l3-agent-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain FORWARD (policy ACCEPT 40 packets, 2400 bytes)
   pkts bytes target     prot opt in     out     source               destination
    185 11100 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    185 11100 neutron-l3-agent-FORWARD  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
   pkts bytes target     prot opt in     out     source               destination
      0     0 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-filter-top (2 references)
   pkts bytes target     prot opt in     out     source               destination
    185 11100 neutron-l3-agent-local  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-FORWARD (1 references)
   pkts bytes target     prot opt in     out     source               destination
    185 11100 neutron-l3-agent-scope  all  --  *      *       0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-iv465d8c835  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
     39  2340 neutron-l3-agent-ov465d8c835  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-fwaas-defau  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-fwaas-defau  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-INPUT (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x1/0xffff
      0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9697

  Chain neutron-l3-agent-OUTPUT (1 references)
   pkts bytes target     prot opt in     out     source               destination

  Chain neutron-l3-agent-fwaas-defau (2 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-iv465d8c835 (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
      0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

  Chain neutron-l3-agent-local (1 references)
   pkts bytes target     prot opt in     out     source               destination

  Chain neutron-l3-agent-ov465d8c835 (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
     39  2340 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

  Chain neutron-l3-agent-scope (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      rfp-09a379b5-9  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000
      0     0 DROP       all  --  *      qr-2cd58562-ad  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000

  9. Disassociate the firewall from the router.
  $ neutron firewall-update --no-routers test-firewall
  Updated firewall: test-firewall

  10. Recheck ip tables rules within router's namespace.
  $ ip netns exec qrouter-09a379b5-907f-4e3e-b29a-8701b82f2641 iptables -n -L -v
  Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
   pkts bytes target     prot opt in     out     source               destination
      0     0 neutron-l3-agent-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain FORWARD (policy ACCEPT 127 packets, 7668 bytes)
   pkts bytes target     prot opt in     out     source               destination
    698 41976 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    698 41976 neutron-l3-agent-FORWARD  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
   pkts bytes target     prot opt in     out     source               destination
      0     0 neutron-filter-top  all  --  *      *       0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-filter-top (2 references)
   pkts bytes target     prot opt in     out     source               destination
    698 41976 neutron-l3-agent-local  all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-FORWARD (1 references)
   pkts bytes target     prot opt in     out     source               destination
    698 41976 neutron-l3-agent-scope  all  --  *      *       0.0.0.0/0            0.0.0.0/0
     99  5988 neutron-l3-agent-iv465d8c835  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
    366 21960 neutron-l3-agent-ov465d8c835  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0
     99  5988 neutron-l3-agent-fwaas-defau  all  --  *      rfp-+   0.0.0.0/0            0.0.0.0/0
      0     0 neutron-l3-agent-fwaas-defau  all  --  rfp-+  *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-INPUT (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x1/0xffff
      0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9697

  Chain neutron-l3-agent-OUTPUT (1 references)
   pkts bytes target     prot opt in     out     source               destination

  Chain neutron-l3-agent-fwaas-defau (2 references)
   pkts bytes target     prot opt in     out     source               destination
     99  5988 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

  Chain neutron-l3-agent-iv465d8c835 (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
      0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

  Chain neutron-l3-agent-local (1 references)
   pkts bytes target     prot opt in     out     source               destination

  Chain neutron-l3-agent-ov465d8c835 (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
      0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    366 21960 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

  Chain neutron-l3-agent-scope (1 references)
   pkts bytes target     prot opt in     out     source               destination
      0     0 DROP       all  --  *      rfp-09a379b5-9  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000
      0     0 DROP       all  --  *      qr-2cd58562-ad  0.0.0.0/0            0.0.0.0/0            mark match ! 0x4000000/0xffff0000

  11. The iptables rules "0 0 REJECT icmp --  * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable" is still active, although the firewall has been successfully disassociated from the distributed router.
  $ neutron firewall-show test-firewall
  +--------------------+--------------------------------------+
  | Field              | Value                                |
  +--------------------+--------------------------------------+
  | admin_state_up     | True                                 |
  | description        |                                      |
  | firewall_policy_id | 53a8d733-e81c-4113-9354-d40b5b426e00 |
  | id                 | a468caca-c555-4f89-adbc-bcdbb06a3fca |
  | name               | test-firewall                        |
  | project_id         | ed2d2efd86dd40e7a45491d8502318d3     |
  | router_ids         |                                      |
  | status             | INACTIVE                             |
  | tenant_id          | ed2d2efd86dd40e7a45491d8502318d3     |
  +--------------------+--------------------------------------+

  
  12. The "neutron-l3-agent.log" on the compute node does not contain any entries regarding FWaaS. Any updates of a firewall or of its policies and rules do not have any effect when using distributed virtual routers (DVR).

  May someone please have a look?

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1716401/+subscriptions


Follow ups