Skip to content

Legacy redis-script

Before the IP Mapper, the session and IP-mapping logic ran as a Lua script inside Redis itself — the redis-script backend. It is still supported for existing deployments, but it is deprecated and will be removed in a future release. New deployments should use the IP Mapper.

If you are familiar with the redis-script, or you come across references to it, here is what changed:

  • The logic moved out of Redis into a dedicated component. The IP Mapper (introduced in 2.8) performs the same session reconciliation in its own memory and uses Redis only for persistence and distribution. It implements the same behavior and passes the same test suite.
  • Redis does much less work. The redis-script kept a large amount of bookkeeping in Redis that had to be held in memory and replicated to every Redis node. Moving that out cuts Redis memory and replication overhead substantially, and the IP Mapper handles far higher session-update rates.
  • The interface is preserved for existing callers. The IP Mapper exposes the same Redis-protocol script commands, so a RADIUS Listener can point at the IP Mapper without code changes. New integrations should still prefer the NATS or HTTP APIs instead.
  • Newer features are IP-Mapper only. Some capabilities — CG-NAT regions, for one — exist only on the IP Mapper and were not possible on the redis-script.

Switching a deployment from the redis-script to the IP Mapper is a backend change, not a hot swap: the Redis mapping schema is unchanged, but session state and bookkeeping are kept differently on each side of the boundary. Plan the cutover with the relevant component docs rather than assuming the two can share session state.