I'm animating a representation of fluid flow by using a generated Wave texture, animating the mapping to make the rings travel. This works well for a cylindrical object; but for a bent tube, the rings get distorted, as I'm (simplistically) animating along the object's y value (which works fine for the cylinder).

Here's the textured tube and the material nodes:

The tube is a Bezier curve with a circle used as a bevel object. I can convert to a mesh if need be, but I'd prefer not to.

Is there a mapping that would cause the texture to propagate along the Bezier, with one animatable parameter that will cause the rings to travel along the tube?