code: def _fw_rule_update(self, drvr_name, data):
          
          LOG.debug("FW Update %s", data)
          tenant_id = data.get('firewall_rule').get('tenant_id')
          fw_rule = data.get('firewall_rule')
          rule = self._fw_rule_decode_store(data)
          rule_id = fw_rule.get('id')
          if tenant_id not in self.fwid_attr or not (
             self.fwid_attr[tenant_id].is_rule_present(rule_id)):
              LOG.error("Incorrect update info for tenant %s", tenant_id)
              return
          self.fwid_attr[tenant_id].rule_update(rule_id, rule)
          self._check_update_fw(tenant_id, drvr_name)
docs: Firewall Rule update routine.
  
          Function to decode the updated rules and call routines that
          in turn calls the device routines to update rules.