Search
Jason Rahm - Jason's Blog
You are here: DevCentral > Weblogs

iRules

There are 20 entries for the tag iRules

No, not “us” F5, the F5 key on the keyboard. You know, the one you hit relentlessly to refresh the page (well, the one I hit relentlessly during NFL games to update my fantasy football stats). Anyway, I was perusing the forums today, trying to catch up from a week attending our very excellent annual sales conference, and I noticed a thread that had to be shared. The Question Is there a way of preventing users from using the F5 button to refresh a web page? – DevCentral user ringoseagull (nice handle, btw!) ...

posted @ Wednesday, November 16, 2011 2:08 PM | Feedback (0)

July was a busy month.  I took the first three weeks off and drove much of what’s left of the “mother road” on Historic Route 66.with the family, our Ford Expedition, and way too many nights in our 31’ travel trailer.  Great memories and stories for a lifetime out of that trip.  I was home long enough to unpack, do laundry, and repack for a great week in Chicago with the DevCentral team.  On Monday, we had a great time diving in to F5 technology goodness with the MVPs (and hoolio and Chris Miller!) at the Thinkubator.  It was a...

posted @ Monday, August 01, 2011 7:34 AM | Feedback (0)

Don’t get me wrong, regex is awesome, and entirely useful—sometimes it’s the only option, it’s just not the best tool of choice for wire speed applications.  Often the sys-admin and network type converts to BIG-IP will find the regexp tcl command and go that route because it’s familiar.  If that describes you, please let me introduce you to a couple more appropriate commands: scan string These two commands will cover a great percentage of regexp’s use cases, and will save significant resources on the system.  Don’t buy it?  Here’s...

posted @ Wednesday, June 22, 2011 2:12 PM | Feedback (0)

I’ve posted on this before (Host that Sorry Page on your BIG-IP!) but it’s been a while and there have been a few updates.  Besides, narrowing the application to only sorry pages is a bit myopic—I’m sure my BIG-IP is offended that I treated it so callously.  Anyway, I got an inquiry a week or so ago about the images in tables not being picked up by the script.  The images in the table were referenced as such: #<table background="genericofflinebackground.gif" align="center" width="1024" height="768" > I reached out to...

posted @ Tuesday, June 14, 2011 6:04 PM | Feedback (0)

User Ralph Hoflich dropped an interesting problem off in the forums for his first post evah…he had a wireshark capture with a highly unusual header name: Yes, the header name was “:”.  This is interesting as it is also the separator in headers between the field name/value pair as described in rfc 2616 section 4.2.  Thankfully, it’s just another character and is parsed out as such with iRules.  So the simple task of removing a header like this is completed painlessly (as Ralph suspected in his own question).  I added a couple logging statements to check before/after...

posted @ Tuesday, May 31, 2011 1:24 PM | Feedback (1)

I love ingenuity.  DevCentral community member wassim asked a question a little more than a month ago that has been asked several times before: How do you build a class in GTM so you don’t have to use a hoard of if statements to account for your addresses?  Well, classes (datagroups) aren’t yet supported in GTM iRules, so the options have been sparse.  One option that could be utilized is to build a list that you can initialize in RULE_INIT: 1:...

posted @ Wednesday, March 23, 2011 2:47 PM | Feedback (1)

Did you know that all address internal to tmm are kept in IPv6 format?  If you’ve written external monitors, I’m guessing you knew this.  In the external monitors, for IPv4 networks the IPv6 “header” is removed with the line: IP=`echo $1 | sed 's/::ffff://'` IPv4 address are stored in what’s called “IPv4-mapped” format. An IPv4-mapped address has its first 80 bits set to zero and the next 16 set to one, followed by the 32 bits of the IPv4 address.  The prefix looks like this: 0000:0000:0000:0000:0000:ffff: (abbreviated as ::ffff:, which looks strickingly simliar—ok, identical—to the pattern...

posted @ Wednesday, March 23, 2011 8:26 AM | Feedback (2)

F5’s own John Alam sent over his latest Visio creation to share with the DevCentral community.  This diagram details the workflow of the comprehensive exchange services iRule described in the Microsoft Exchange 2010 Deployment Guide. Enjoy. For visio, pdf, png, & svg versions of this image, click here. Related Articles Microsoft Exchange 2010: HELO New Architecture Webcast - Microsoft Exchange Server Availability And Scalability Exchange Persistence Duality and iRules > DevCentral > F5 ... How Microsoft deployed Exchange Server...

posted @ Tuesday, March 15, 2011 9:04 AM | Feedback (0)

I got a request yesterday morning to asking if there was a way to drop HTTP requests if a certain number was referenced in the Accept-Language header.  The user referenced this post on Exploring Binary.  The number, 2.2250738585072012e-308, causes the Java runtime and compiler to go into an infinite loop when converting it to double-precision binary floating-point.  Not good.  Twitter is ablaze on the issue, and there is a good discussion thread on Hacker News as well.  So how do you stop it?  At first, this appeared to be a no-brainer, just copy that string and drop if found in...

posted @ Thursday, February 03, 2011 8:28 AM | Feedback (10)

I received an update to the HTTP Event Order diagram last night from the excellent F5er John Alam.  Here it is, in all its glory! Fire up the printer, the laminator, whatever, and get this on your cubicle wall pronto!  For comparison, the original drawing is in the second link below.  For visio, pdf, and svg versions of this image, click here. Related Articles iRules Event Order > DevCentral > F5 DevCentral > Tech Tips iRules Insight - HTTP Event Order Stacking iRules: A Modular Approach > DevCentral > F5 DevCentral...

posted @ Tuesday, February 01, 2011 8:18 AM | Feedback (3)

We’ve covered pushing images from LTM before with Kirk’s excellent perl script work on sorry pages.  But that’s not the only thing you can host images for, and it’s not the only approach.  DevCentral community user kevin.stewart crafted up a nifty bash script to achieve the same ends, and gobbles up every image in /var/images, b64 encodes them, then drops them into a class.  The script is minimal in lines, but powerful in output: #!/bin/bash ## clear /var/class_build/images_build.class echo -n "" > /var/class/images.class; ## loop through...

posted @ Friday, November 12, 2010 8:52 AM | Feedback (0)

On last week’s podcast, we riffed for a few on the common misunderstandings of what a URL versus a URI are in terms of writing iRules and communicating said development in the forums.  I had earlier in the day been looking at Prezi and got the idea that I should attempt my first Prezi on breaking down the various components of a URL and URI.  Be gentle: Related Articles HTTPS Redirect for a specific URL, URI - DevCentral - F5 ... multiple url/uri rewrite w/multiple default statements ... ...

posted @ Wednesday, September 29, 2010 2:42 PM | Feedback (0)

This has been a perplexing issue for many users.  How do you introduce an intermediary (LTM going forward) between client and server when in the same network segment?  It’s easy when the LTM sits at gateways, but within a segment, it doesn’t work that well without some help.  Why?  Well, with tcp-based connection-oriented protocols, a handshake (consisting of a client syn packet, a server syn-ack packet, and a server ack packet) sets up the connection.  When you introduce the LTM, a problem arises: Client –> syn –> BIG-IP BIG-IP –> syn-ack –> Client...

posted @ Thursday, August 19, 2010 8:57 AM | Feedback (0)

DevCentral has many rock star contributors.  Most are not affiliated officially with F5 Networks, or DevCentral for that matter, but there are several F5ers who believe in the community, and really believe in the F5 story.  One of those F5ers is Matt Cauthorn, or as you know him in the community, L4L7.  You may recognize Matt as the author of pyControl.  Well, not only did he provide this entrance to a better iControl experience, he has also delivered in a major way with his Vim plugin for editing iRules (utilizing pyControl of course to make those calls to BIG-IP).  I...

posted @ Tuesday, April 27, 2010 11:20 AM | Feedback (1)

Hey Community!  Just a gentle nudge that we are still accepting entries for the iRules Contest through 5pm pacific on the 30th of September.  Yes, that's only 15 days from now!  I see several iRules flying by in the forums each week that are no brainers for consideration.  Take this nice example from the forums: Forum iRule from user UZimmerman when HTTP_REQUEST { set downtimepool "Downtime-NonSSL" set downtimemember "10.21.67.103" set downtimeport "16080" set downtime 0 if { ([LB::status pool $downtimepool member $downtimemember $downtimeport]...

posted @ Tuesday, September 15, 2009 10:49 AM | Feedback (0)

I'm a visual learner.  You know this about me.  I've said as much in earlier posts (Me Caveman, Need Picture).  So it should come as no surprise that I'll be highlighting a picture here.  A picture is worth a thous...yada yada yada, you get it.  I see many drawings, all of which are purposed to convey some type of information.  This, however, is a visual treasure chest building on the event ordering goodness discussed by Colin a while back that hones in on the flow of data through the iRules events specific to the HTTP protocol.  If you develop iRules...

posted @ Tuesday, September 08, 2009 10:07 AM | Feedback (12)

It's iRules Contest time again, community!  I wasn't new to F5 products for the first contest, as I was a version 4.5 user for a couple years, but I was relatively new to the v9 TCL-based iRules.  I was working on a couple different projects at the time, one with terminal server and one with some multi-site SSL redirection challenges, that brought me full force into the DevCentral experience.  F5ers Joe, Colin, Deb & unRuleY nurtured me along, taking time out of their schedules to assist in my learning curve.  This community that I now get to share in serving...

posted @ Wednesday, August 12, 2009 12:30 PM | Feedback (0)

It's not an uncommon problem trying to figure out where to plant that sorry page in the event your farm is down.  It's also not an uncommon solution to just use your BIG-IP to issue a text-only HTTP::respond.  It works, but it's not, how do you say, visually appealing?  You want to say sorry and mean it.  With pictures.  If you take a stroll through the iRules codeshare, you'll notice several solutions to this problem.  All of them work, with a variety of methods, but user kirkbauer's entry takes it to another level.  Kirk's sorry page irule generator (written in...

posted @ Tuesday, May 12, 2009 11:18 AM | Feedback (10)

I'm always fascinated by the creative outlets people come up with when toying with iRules.  My favorite is still Joe's FTP Hunt the Wumpus, which he blogged about a while back (the code is here in the wiki).  The latest is a great entry from Lori this morning, giving you, the community, a handy dice roller.  After a careful read, a few thoughts came to mind, in no particular order. Wow, what a great way to collide two completely independent planets in the geek solar system. Role playing games take too much time, I just want to load...

posted @ Tuesday, May 05, 2009 11:40 AM | Feedback (0)

Hello, version 10!  Product launches are always exciting, for the vendors as well as the vendees, and this is no exception.  I was a customer when F5 made the jump to v9, and having used the BIG-IP/3-DNS products for a couple years at that point, I was a little concerned at the magnitude of change.  That evaporated quickly as I began navigating around the UI and diving into the pleasure that is iRules.  So it is today with the announcement of version 10.  There is an astounding level of product growth in v.10, not just with GTM, but that's our...

posted @ Thursday, April 09, 2009 8:47 AM | Feedback (1)

Blog Stats

Posts:86
Comments:108
Stories:0
Trackbacks:0
  

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or