April FAIL as IETF's funny-but-dodgy draft doc arrives a week early

Holy Hand Grenade proposes update to RFC 8140 but blows back on the court of King Arthur

The Internet Engineering Task Force has a long and honourable tradition of April Fool's jokes, but to The Register's knowledge, this is a first: an April 1 document published ahead of time.

Although this pre-RFC internet draft, titled "The Holy Hand Grenade of Antioch," was submitted by a one Ronald Tse, the alleged author is Arthur Pendragon of Camelot.

Previous IETF gags like RFC 1149 (A Standard for the Transmission of IP Datagrams on Avian Carriers), RFC 2549 (IP over Avian Carriers with Quality of Service), and RFC 3514 (The Security Flag in the IPv4 Header, aka the Evil Bit), were not attributed to mythical authors.

We do, however, know that the internet's druids have a fondness for Monty Python and the Holy Grail, since “The Holy Hand Grenade of Antioch” is offered as an update to one of 2017's April 1 documents, RFC 8140, “The Arte of ASCII: Or, An True and Accurate Representation of an Menagerie of Thynges Fabulous and Wonderful in Ye Forme of Character” (which was published on the correct date, April 1, 2017, the painstaking work of Old Dog Consulting's Adrian Farrel).

ASCII Art Troll RFC 8140

Troll detail from RFC 8140

Whoever A Pendragon may be in real life, he or she has given us an ASCII art "photo" of Holy Grail's “Killer Rabbit of Caerbannog”, as well as some cheerily dotty C code (below).

Monty Python's killer rabbit as ASCII art
/* Locate the Killer Rabbit */
   int type;
   unsigned char *killerRabbit =
     LocateCreature(&caerbannog, "killer rabbit");
   if( killerRabbit == 0 ){
     puts("The Killer Rabbit of Caerbannog is out of town.");
     return LOST_CREATURE;

   /* Load Cave */
   unsigned char *cave = LoadPlace(&caerbannog,
     "The Cave Of Caerbannog");
   if( cave == 0 ){
     puts("The Cave of Caerbannog must have moved.");
     return LOST_PLACE;

   /* Lure the Killer Rabbit back into the Cave */
   unsigned char *carrot = allocateObjectInPlace(
     carrot("fresh"), cave);
   if( carrot == 0 ){
     puts("No carrot, no rabbit.");
     return LOST_LURE;

   /* Finally, notify the Killer Rabbit to act */
   return notifyCreature(killerRabbit, &carrot);

There's more – but why would we spoil it any further than revealing the March 23 publication date? Enjoy. ®

Keep Reading

Biting the hand that feeds IT © 1998–2021