Okay, what is wrong with this?
ip tunnel add he mode sit remote 216.66.22.2 Usage: ip tunnel { add | change | del | show | prl | 6rd } [ NAME ] [ mode { ipip | gre | sit | isatap } ] [ remote ADDR ] [ local ADDR ] [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ] [ prl-default ADDR ] [ prl-nodefault ADDR ] [ prl-delete ADDR ] [ 6rd-prefix ADDR ] [ 6rd-relay_prefix ADDR ] [ 6rd-reset ] [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]
Sure looks like the command matches the usage. It took me over an hour to figure out what was wrong. This command worked:
ip tunnel add he-tun mode sit remote 216.66.22.2
It turns out that interface name "he" appears to be confused with a command parameter. That goes away when it contains a special character. Caramelized syntactic sugar.