in reply to icmp ping requires root privilege only?

Creating an ICMP packet requires a raw socket, and creating raw sockets requires root privileges. The check is not being made by the module.

Since privileges are process-based in unix, you need to elevate the privileges of your entire process (using setuid , sudo or whatever), or delegate the pinging to a program that runs with elevated privileges (such as the preexisting ping command, which uses setuid to run as root).