Skip to main content
Indian licensing administrator reviewing an Arm UBL dashboard with seat counts by team in a Bengaluru engineering centre, physical FlexNet dongle set aside on the desk

FlexNet Node-Locked Is Ending: How Indian Arm Keil MDK Teams Should Migrate to UBL in 2026

GSAS Editorial · · 5 min read

Arm has announced end-of-life for FlexNet Node-Locked (FL-NL) licensing on Arm Keil MDK and Arm Compiler 6. The replacement, User-Based Licensing (UBL): has been generally available for several Keil MDK releases and is now the default for new commercial seats. A long tail of Indian engineering teams in Bengaluru, Hyderabad, Chennai, Pune, Mumbai, and Delhi NCR are still on FL-NL, and that is the conversation GSAS Micro Systems is in this quarter with most of our Indian Cortex-M customers.

This post explains the framing. The migration plan itself, minimum tool versions for your specific SKUs, seat sizing, the firewall and CI gotchas, the 60-day rollout shape, is the engagement GSAS runs with your team. We are Arm’s authorized partner in India for Arm Development Tools.

What FL-NL is, and why Arm is retiring it

FlexNet Node-Locked is the licensing model that pinned a Keil MDK or Arm Compiler 6 entitlement to a specific machine, by USB dongle in the dongle days, then by composite host ID on a specific PC. It worked for the world it was designed for: one developer per workstation, one workstation per seat, mostly disconnected from the public internet. It does not work for the world Indian product teams now live in:

  • Cloud build agents (GitHub Actions, GitLab Runners, AWS CodeBuild, Azure DevOps) that come and go on demand.
  • Remote-first engineers cycling between an office laptop, a home workstation, and a hot-desk in another city.
  • Multi-site programs where the same firmware repository is touched in Bengaluru in the morning, Pune in the afternoon, and Delhi NCR by night.
  • Air-gapped defence and aerospace networks that cannot reach an Arm-hosted license server but still need formal license accounting.

The FL-NL response to each of those scenarios is friction, dongle juggling, host-ID change requests, parallel-build collisions on a shared FlexNet floating server, and licensing rebuilds every time a CI image is rebaked. UBL is Arm’s answer.

What UBL gives you instead

Indian Cortex-M firmware engineering manager at a Bengaluru product office reviewing the FlexNet Node-Locked → User-Based Licensing migration timeline alongside a UBL admin dashboard showing CLS and LLS deployment options

UBL flips the model from “license per machine” to “license per developer identity.” The practical implications, per Arm’s published UBL administration documentation:

  • Cloud-CI native. A CI bot identity covers parallel builds, sizing tracks identities, not parallel job count. See the UBL seat-sizing post for the framing.
  • Local offline cache. The armlm cache renews when the machine is online; teams travelling to customer sites keep building under their cached lease.
  • Two deployment models. Cloud License Server (CLS) is the default, Arm hosts the licensing infrastructure and developers point at it. Local License Server (LLS) is the on-prem option for air-gapped defence, aerospace, and regulated medical environments where the build network never touches the public internet.

For most commercial Indian product teams, CLS is the right answer; LLS is what we recommend for Indian defence and aerospace programs, certified-secure development environments, and customers whose network policy forbids outbound *.arm.com calls during build. GSAS quotes both through the standard India procurement flow (GeM, SAP Ariba, Coupa, TReDS).

Minimum tool versions

UBL is not a runtime upgrade you toggle on existing tool installations, it requires a recent-enough Keil MDK, Arm Compiler 6, Arm Compiler for Embedded FuSa, or Arm Development Studio build. The specific minimum version for your SKU is on Arm’s documentation; GSAS confirms the supported-version table against your in-service compiler set during the migration call.

If your Indian project is locked to a specific compiler version for safety-case or qualification reasons (a TÜV-certified AC6.16 LTS build for an automotive ECU certified against ISO 26262 ASIL-D, for example), the minimum-version constraint is a real planning concern that GSAS sequences with your safety re-verification cycle. Talk to us before you commit to a migration window.

Seat sizing

UBL seat sizing is materially different from FL-NL seat sizing, it tracks identities rather than concurrent compiles, which usually means fewer seats than the FlexLM intuition suggests. The framing is covered in the separate UBL seat-sizing post; the actual sizing math for your specific team is the GSAS engagement.

Air-gapped programs: when LLS is required

Indian air-gapped defence engineering programme office in Hyderabad with a Local License Server rack in a secure room separated from the engineering workstation floor where Cortex-R safety firmware is being developed

For Indian customers running air-gapped development networks, defence avionics, certified-secure systems, classified-information handling, the CLS default is not viable. Arm provides Local License Server (LLS) for these environments. LLS runs entirely on your network and serves UBL claims to your developers and CI bots from your own infrastructure.

LLS deployment is more involved than CLS, server stand-up, operational cadence, seat replenishment cycle, but it is the only model that works for genuinely air-gapped programs. GSAS supports LLS deployments for Indian defence and aerospace customers; the typical engagement involves a short on-site session with the customer’s IT-security team, network policy review, and a hand-off to the customer’s licensing administrator after the first round of builds confirms the server is serving correctly.

Legacy projects: AC5 / PK51 / DK251 / PK166

A common Indian story: the new firmware is on Cortex-M and modern Keil MDK on UBL, but the team also maintains a 2014-era automotive ECU on an 8051 microcontroller built with Keil PK51, or a 2010-era industrial controller on C166 with Keil DK251, or a legacy ARM7 product with AC5. Those legacy compilers predate UBL.

Arm provides a backwards-compatibility recipe (armlm genLIC) for current MDK v6 Pro UBL holders. The detail is in Keeping Legacy AC5 / PK51 / DK251 / PK166 Projects Alive Under MDK v6 Pro UBL.

What to do this quarter

If you are an Indian engineering manager or licensing administrator running on FL-NL today:

  1. Pull your current FL-NL footprint, seat count, tool versions, dongle vs floating server.
  2. Note any safety-case constraint that pins a specific compiler version.
  3. Note any air-gapped network constraint that forces LLS rather than CLS.
  4. Talk to GSAS about the migration quote, we do this conversation with Indian teams every week and know where the firewall and CI gotchas hide.

GSAS Micro Systems is Arm’s authorized partner in India for Arm Development Tools, across Bengaluru, Hyderabad, Chennai, Pune, Mumbai, Delhi NCR, and Visakhapatnam.

Also appears in:

Interested in Arm tools?

Talk to our application engineers for personalized tool recommendations.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.