Default VCL

This is the default vcl-file that is built into varnish (default.vcl) 3.0.

Make sure you understand this: Your own VCL-configuration will not overwrite this default configuration, it will just be prepended each sub. Unless you terminate your sub with a action (pass,pipe,lookup,error,hash,deliver,fetch,insert,discard,keep) it will continue into these default subs.

Below is the VCL flow for the varnish 3.0.4 release. If you'd like to generate an image like below for another release, or trunk, you will need to install  GraphViz. This will provide you with the dot command which is used to generate the chart. From your checkout, run:

  ### for postscript output
  $ sed -n '/^DOT/s///p' varnish-cache/bin/varnishd/cache_center.c | dot -Tps > /tmp/

  ### for pdf output
  $ sed -n '/^DOT/s///p' varnish-cache/bin/varnishd/cache_center.c | dot -Tpdf > /tmp/varnish-flow.pdf

Update the 3.0-flow to include return(restart) in vcl_error