ifconfig -l feature

classic Classic list List threaded Threaded
39 messages Options
12
Reply | Threaded
Open this post in threaded view
|

ifconfig -l feature

Douglas Santos
It's something like:

$ ifconfig -l
xl0 ne3 pflog0 pfsync0 enc0 ppp0

Ideas from NetBSD.


Index: ifconfig.c
===================================================================
RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v
retrieving revision 1.167
diff -u -r1.167 ifconfig.c
--- ifconfig.c 15 Jun 2006 16:19:59 -0000 1.167
+++ ifconfig.c 20 Jun 2006 22:01:52 -0000
@@ -133,7 +133,7 @@
 int clearaddr, s;
 int newaddr = 0;
 int af = AF_INET;
-int mflag;
+int lflag, mflag;
 int net80211flag;
 int explicit_prefix = 0;
 #ifdef INET6
@@ -391,6 +391,7 @@
 void print_string(const u_int8_t *, int);
 char *sec2str(time_t);
 void list_cloners(void);
+void    list_if(void);
 
 const char *get_media_type_string(int);
 const char *get_media_subtype_string(int);
@@ -487,6 +488,10 @@
  case 'g':
  gflag = 1;
  break;
+ case 'l':
+ lflag = 1;
+ nomore = 1;
+ break;
  case 'm':
  mflag = 1;
  break;
@@ -524,7 +529,7 @@
  af = ifr.ifr_addr.sa_family = rafp->af_af;
  }
  if (Cflag) {
- if (argc > 0 || mflag || aflag)
+ if (argc > 0 || mflag || aflag || lflag)
  usage(1);
  list_cloners();
  exit(0);
@@ -537,11 +542,18 @@
  exit(0);
  }
  if (aflag) {
- if (argc > 0)
+ if (argc > 0 || lflag)
  usage(0);
  printif(NULL, ifaliases);
  exit(0);
  }
+ if (lflag) {
+         if (argc > 0)
+ usage(0);
+ list_if();
+ putchar('\n');
+ exit(0);
+ }
  (void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
  if (argc == 0) {
  printif(ifr.ifr_name, 1);
@@ -779,6 +791,27 @@
 }
 
 void
+list_if(void)
+{
+ struct ifaddrs *ifap, *ifa;
+ char name2[IFNAMSIZ];
+
+ if (getifaddrs(&ifap) != 0)
+ err(1, "getifaddrs");
+
+ ifa = ifap;
+ strlcpy(name2, ifa->ifa_name, sizeof(name2));
+
+ for ( ; ifa; ifa = ifa->ifa_next)
+ if ( !strcmp(name2, ifa->ifa_name) == 0) {
+ fputs(ifa->ifa_name, stdout);
+ putchar(' ');
+ strlcpy(name2, ifa->ifa_name, sizeof(name2));
+ continue;
+ }
+}
+
+void
 printif(char *ifname, int ifaliases)
 {
  struct ifaddrs *ifap, *ifa;
@@ -3837,7 +3870,7 @@
 usage(int value)
 {
  fprintf(stderr,
-    "usage: ifconfig [-AaCm] [interface] [address_family] "
+    "usage: ifconfig [-AaClm] [interface] [address_family] "
     "[address [dest_address]]\n"
     "\t\t[parameters]\n");
  exit(value);

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Felix Kronlage-2
On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:

> $ ifconfig -l
> xl0 ne3 pflog0 pfsync0 enc0 ppp0

just typing `ifconfig` lists all the interfaces in the system,
where is the use for this?

felix

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Nickolay A Burkov
On Wed, 21 Jun 2006 08:48:58 +0200
Felix Kronlage <[hidden email]> wrote:

> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
>
> > $ ifconfig -l
> > xl0 ne3 pflog0 pfsync0 enc0 ppp0
>
> just typing `ifconfig` lists all the interfaces in the system,
> where is the use for this?
>
> felix
>
This output format is extremely useful to parsing (in scripts, etc..)

Good work, Douglas!

--
    "God is real, unless declared integer."

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Cédric Berger-2
In reply to this post by Felix Kronlage-2
Felix Kronlage wrote:

> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
>
>  
>> $ ifconfig -l
>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
>>    
>
> just typing `ifconfig` lists all the interfaces in the system,
> where is the use for this?
>  
Writing shell scripts.
Cedric

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Ryan McBride-3
On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:

> Felix Kronlage wrote:
> >On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
> >  
> >>$ ifconfig -l
> >>xl0 ne3 pflog0 pfsync0 enc0 ppp0
> >
> >just typing `ifconfig` lists all the interfaces in the system,
> >where is the use for this?
> >  
> Writing shell scripts.

ifconfig needs LESS options and cruft, not more. How about avoiding
touching that mess, and doing something like this:

ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'

or if you're really hung up on having it on one line...

ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
END { ORS="\n"; print "" }'

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Markus Friedl-2
In reply to this post by Nickolay A Burkov
On Wed, Jun 21, 2006 at 08:09:12AM +0000, Nickolay A Burkov wrote:

> On Wed, 21 Jun 2006 08:48:58 +0200
> Felix Kronlage <[hidden email]> wrote:
>
> > On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
> >
> > > $ ifconfig -l
> > > xl0 ne3 pflog0 pfsync0 enc0 ppp0
> >
> > just typing `ifconfig` lists all the interfaces in the system,
> > where is the use for this?
> >
> > felix
> >
> This output format is extremely useful to parsing (in scripts, etc..)

ifconfig|sed -n '/^[a-z]/s/:.*//p'

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Cédric Berger-2
In reply to this post by Ryan McBride-3
Ryan McBride wrote:

> On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:
>  
>> Felix Kronlage wrote:
>>    
>>> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
>>>  
>>>      
>>>> $ ifconfig -l
>>>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
>>>>        
>>> just typing `ifconfig` lists all the interfaces in the system,
>>> where is the use for this?
>>>  
>>>      
>> Writing shell scripts.
>>    
>
> ifconfig needs LESS options and cruft, not more. How about avoiding
> touching that mess, and doing something like this:
>
> ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'
>
> or if you're really hung up on having it on one line...
>
> ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
> END { ORS="\n"; print "" }'
>  
That of course depends from which angle you look at the problem.
I much rather have the cruft in one binary and have my scripts more
readable than having a cleaner ifconfig and the above ugly mess in
my scripts. But that's of course my personal preference only.
Cedric

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Michael Shalayeff-2
On Wed, Jun 21, 2006 at 01:25:03PM +0200, C???dric Berger wrote:

> Ryan McBride wrote:
> > On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:
> >  
> >> Felix Kronlage wrote:
> >>    
> >>> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
> >>>  
> >>>      
> >>>> $ ifconfig -l
> >>>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
> >>>>        
> >>> just typing `ifconfig` lists all the interfaces in the system,
> >>> where is the use for this?
> >>>  
> >>>      
> >> Writing shell scripts.
> >>    
> >
> > ifconfig needs LESS options and cruft, not more. How about avoiding
> > touching that mess, and doing something like this:
> >
> > ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'
> >
> > or if you're really hung up on having it on one line...
> >
> > ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
> > END { ORS="\n"; print "" }'
> >  
> That of course depends from which angle you look at the problem.
> I much rather have the cruft in one binary and have my scripts more
> readable than having a cleaner ifconfig and the above ugly mess in
> my scripts. But that's of course my personal preference only.

you can make a function in your script and keep it readable...
hell. you can parse netstat -in even easier...
imho. this flag does not add any functionality except "oh yeah
i'm a lazy bum and do not want to learn sed or awk".
cu
--
    paranoic mickey       (my employers have changed but, the name has remained)

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Felix Kronlage-2
In reply to this post by Cédric Berger-2
On Wed, Jun 21, 2006 at 01:25:03PM +0200, Cidric Berger wrote:

> > ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
> > END { ORS="\n"; print "" }'
> That of course depends from which angle you look at the problem.
> I much rather have the cruft in one binary and have my scripts more
> readable than having a cleaner ifconfig and the above ugly mess in
> my scripts. But that's of course my personal preference onlyx.

well, markus gave another way of doing it:

ifconfig|sed -n '/^[a-z]/s/:.*//p'

it's only few more letters than '-l'. I much rather have a bloat-free
operating system then to save a few bytes in a script.

felix
--
GPG/PGP:   D9AC74D0 / 076E 1E87 3E05 1C7F B1A0  8A48 0D31 9BD3 D9AC 74D0
http://hazardous.org/~fkr - [hidden email] - fkr@silc|irc  - FKR-RIPE
https://www.bytemine.net/ - bytemine - BSD based Hosting/Solutions/Ideas

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Cédric Berger-2
In reply to this post by Michael Shalayeff-2
mickey wrote:

> On Wed, Jun 21, 2006 at 01:25:03PM +0200, C???dric Berger wrote:
>  
>> Ryan McBride wrote:
>>    
>>> On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:
>>>  
>>>      
>>>> Felix Kronlage wrote:
>>>>    
>>>>        
>>>>> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
>>>>>  
>>>>>      
>>>>>          
>>>>>> $ ifconfig -l
>>>>>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
>>>>>>        
>>>>>>            
>>>>> just typing `ifconfig` lists all the interfaces in the system,
>>>>> where is the use for this?
>>>>>  
>>>>>      
>>>>>          
>>>> Writing shell scripts.
>>>>    
>>>>        
>>> ifconfig needs LESS options and cruft, not more. How about avoiding
>>> touching that mess, and doing something like this:
>>>
>>> ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'
>>>
>>> or if you're really hung up on having it on one line...
>>>
>>> ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
>>> END { ORS="\n"; print "" }'
>>>  
>>>      
>> That of course depends from which angle you look at the problem.
>> I much rather have the cruft in one binary and have my scripts more
>> readable than having a cleaner ifconfig and the above ugly mess in
>> my scripts. But that's of course my personal preference only.
>>    
>
> you can make a function in your script and keep it readable...
> hell. you can parse netstat -in even easier...
> imho. this flag does not add any functionality except "oh yeah
> i'm a lazy bum and do not want to learn sed or awk".
>  
You're right, but I personally prefer a yellow bikeshed.
Cedric

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Cédric Berger-2
In reply to this post by Michael Shalayeff-2
mickey wrote:

> On Wed, Jun 21, 2006 at 01:25:03PM +0200, C???dric Berger wrote:
>  
>> Ryan McBride wrote:
>>    
>>> On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:
>>>  
>>>      
>>>> Felix Kronlage wrote:
>>>>    
>>>>        
>>>>> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
>>>>>  
>>>>>      
>>>>>          
>>>>>> $ ifconfig -l
>>>>>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
>>>>>>        
>>>>>>            
>>>>> just typing `ifconfig` lists all the interfaces in the system,
>>>>> where is the use for this?
>>>>>  
>>>>>      
>>>>>          
>>>> Writing shell scripts.
>>>>    
>>>>        
>>> ifconfig needs LESS options and cruft, not more. How about avoiding
>>> touching that mess, and doing something like this:
>>>
>>> ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'
>>>
>>> or if you're really hung up on having it on one line...
>>>
>>> ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
>>> END { ORS="\n"; print "" }'
>>>  
>>>      
>> That of course depends from which angle you look at the problem.
>> I much rather have the cruft in one binary and have my scripts more
>> readable than having a cleaner ifconfig and the above ugly mess in
>> my scripts. But that's of course my personal preference only.
>>    
>
> you can make a function in your script and keep it readable...
> hell. you can parse netstat -in even easier...
> imho. this flag does not add any functionality except "oh yeah
> i'm a lazy bum and do not want to learn sed or awk".
> cu
>  
More seriously, I've no strong opinion on the usefuleness of that option,
but in the grand scheme of things, what really sucks for people like me who
have to write scripts for multiple plaftorms is that unix people, even
limited
to the BSD family, cannot damn find a mechanism to agree on these things.

imac:~/Work/svn-sid/head cedric$ uname -a
Darwin imac.vo.berger.to 8.6.1...
imac:~/Work/svn-sid/head cedric$ ifconfig -l
lo0 gif0 stf0 en0 en1 fw0 en2

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Felix Kronlage-2
On Wed, Jun 21, 2006 at 01:56:18PM +0200, Cidric Berger wrote:

> More seriously, I've no strong opinion on the usefuleness of that option,
> but in the grand scheme of things, what really sucks for people like me who
> have to write scripts for multiple plaftorms is that unix people, even
> limited
> to the BSD family, cannot damn find a mechanism to agree on these things.

this (what markus friendl suggested):
ifconfig|sed -n '/^[a-z]/s/:.*//p'

is portable. wow. without adding another knob, you can write portable scripts.

felix
--
GPG/PGP:   D9AC74D0 / 076E 1E87 3E05 1C7F B1A0  8A48 0D31 9BD3 D9AC 74D0
http://hazardous.org/~fkr - [hidden email] - fkr@silc|irc  - FKR-RIPE
https://www.bytemine.net/ - bytemine - BSD based Hosting/Solutions/Ideas

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Cédric Berger-2
In reply to this post by Felix Kronlage-2
Felix kronlage wrote:

> On Wed, Jun 21, 2006 at 01:25:03PM +0200, Cidric Berger wrote:
>
>  
>>> ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/ { print $1 }
>>> END { ORS="\n"; print "" }'
>>>      
>> That of course depends from which angle you look at the problem.
>> I much rather have the cruft in one binary and have my scripts more
>> readable than having a cleaner ifconfig and the above ugly mess in
>> my scripts. But that's of course my personal preference onlyx.
>>    
>
> well, markus gave another way of doing it:
>
> ifconfig|sed -n '/^[a-z]/s/:.*//p'
>  
So that proves that Markus is better than Ryan in writing shell scripts.
But notice that Ryan is not exactly a beginner with unix either...
So try to imagine what the common luser will put on his stripts,
and then contemplates why adding a little option is not necessarily
the worst idea proposed on that list...
> it's only few more letters than '-l'. I much rather have a bloat-free
> operating system then to save a few bytes in a script.
>
> felix
>  
I cannot understand why I'm still answering on that thread.
Bad cedric. I'll try to stop.

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Gilles Chehade
In reply to this post by Michael Shalayeff-2
On Wed, 21 Jun 2006 13:32:58 +0200
mickey <[hidden email]> wrote:

> On Wed, Jun 21, 2006 at 01:25:03PM +0200, C???dric Berger wrote:
> > Ryan McBride wrote:
> > > On Wed, Jun 21, 2006 at 10:17:04AM +0200, C?+1dric Berge wrote:
> > >  
> > >> Felix Kronlage wrote:
> > >>    
> > >>> On Tue, Jun 20, 2006 at 07:20:37PM -0300, Douglas Santos wrote:
> > >>>  
> > >>>      
> > >>>> $ ifconfig -l
> > >>>> xl0 ne3 pflog0 pfsync0 enc0 ppp0
> > >>>>        
> > >>> just typing `ifconfig` lists all the interfaces in the system,
> > >>> where is the use for this?
> > >>>  
> > >>>      
> > >> Writing shell scripts.
> > >>    
> > >
> > > ifconfig needs LESS options and cruft, not more. How about
> > > avoiding touching that mess, and doing something like this:
> > >
> > > ifconfig -a | awk 'BEGIN { FS=":" } /^[a-z]+[0-9]+:/ { print $1 }'
> > >
> > > or if you're really hung up on having it on one line...
> > >
> > > ifconfig -a | awk 'BEGIN{ FS=":"; ORS=" "} /^[a-z]+[0-9]+:/
> > > { print $1 } END { ORS="\n"; print "" }'
> > >  
> > That of course depends from which angle you look at the problem.
> > I much rather have the cruft in one binary and have my scripts more
> > readable than having a cleaner ifconfig and the above ugly mess in
> > my scripts. But that's of course my personal preference only.
>
> you can make a function in your script and keep it readable...
> hell. you can parse netstat -in even easier...
> imho. this flag does not add any functionality except "oh yeah
> i'm a lazy bum and do not want to learn sed or awk".
> cu
>

Not to mention that the addition of an option to a command which is not
OpenBSD centric will help the spread of scripts that are not portable.

-- veins

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

no@spam@mgedv.net
In reply to this post by Felix Kronlage-2
> it's only few more letters than '-l'. I much rather have a bloat-free
> operating system then to save a few bytes in a script.
>

short answer: "-l" is nice - "bloating" ifconfig is not
really the point here ;-)

...with some additional thoughts:

i bet there are thousands of scripts out there, which
grep/awk/sed/blah the interface-names out of ifconfig -a.

fact is (at least with our systems), that writing such
scripts is annoying and that EVERY type of hw-config
command should be able to list them in a way you could
easily change it.

for h_if in `ifconfig -l`
do
  blah;
done;

simple. easy. works.

well. that's one side. from the other point of view, there
should be a more or less compatibility between the os's as
many of the scripts are meant to run not only on freebsd,
openbsd, netbsd or even suse (at least ours).

if it's about monitoring, manual cluster-management, etc...,
being *nix-compatible is a primary goal because someone
really want's to deploy his scripts across his servers.

an example of a terrible compatibility is "ps". everybody knows.
hell, i cannot explain how much i messed around with the several
ps-commands from solaris, aix, linux, *bsd, hp-ux and others!!!!

so what to do? let everybody write his "own" "grep my if out"
function, or start providing it on one os, leaving him alone
if it's about the other os?
or make commitments between the os-dev-groups?
whatever. to survive the os-"fights", from my point of view
the "share the knowledge" and "be compatible" way seems to
be more efficient. this has been shown us many times in the
past, and will be shown hopefully even more times in the future.

just my 2cents, have fun & code!

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Eichert, Diana
In reply to this post by Cédric Berger-2
If there was ever a bikeshed thread on this list, this is it.

Can I have a blue bikeshed?  a very dark blue?

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Pedro Martelletto
In reply to this post by no@spam@mgedv.net
please add a -p too, that would make the output be in pink

and a -b to blink while at it

you know, it's hard to script that

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Joris Vink-2
On Wed, Jun 21, 2006 at 10:15:03AM -0300, Pedro Martelletto wrote:
> please add a -p too, that would make the output be in pink

pink is hot.

        .joris

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Paul de Weerd
In reply to this post by Felix Kronlage-2
On Wed, Jun 21, 2006 at 01:47:36PM +0200, Felix kronlage wrote:
| well, markus gave another way of doing it:
|
| ifconfig|sed -n '/^[a-z]/s/:.*//p'

For an even more portable version try

        ifconfig -a | grep ^[a-z] | cut -f1 -d' ' | tr -d :

or the similar version w/ awk :

        ifconfig -a | awk '/^[a-z]/ { print $1 }' | tr -d :

This works on a semi-random linux box (which has no -l option to
ifconfig), an Apple and OpenBSD (others not tested, most should be
fine I think).

My two eurocents say more portability, not more options .. and as we
all know, there's more than one way to skin a cat, so we all get to
script this with our favourite tools. It's the UNIX way ;)

KISS

Paul 'WEiRD' de Weerd

--
>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
                 http://www.weirdnet.nl/

[demime 1.01d removed an attachment of type application/pgp-signature]

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig -l feature

Douglas Santos
In reply to this post by Pedro Martelletto
Em Qua, 2006-06-21 as 10:15 -0300, Pedro Martelletto escreveu:
> please add a -p too, that would make the output be in pink
>
> and a -b to blink while at it
>
> you know, it's hard to script that

You are a joke Pedro Martelletto.

I remember you, other day, asking for a stupid howto for squid,
and others stupid things.

So, how do you prefer we call you ?
Pedro Bastos [1] ?
Pedro M de A Bastos [2] ?
Pedro Marteleto de Alvarenga Bastos [3] ?
Pedro Martelletto [4] ?

I think we need: ifconfig -truth
Show me the truth, no more lies here.

[1] http://marc.theaimsgroup.com/?l=openbsd-misc&m=96173811200916&w=2
[2] http://marc.theaimsgroup.com/?l=openbsd-misc&m=99534253611414&w=2
[3] http://marc.theaimsgroup.com/?l=openbsd-misc&m=102181894418315&w=2
[4] http://marc.theaimsgroup.com/?l=openbsd-misc&m=108048785313517&w=2

--
"I was wondering if anybody could tell me where can I find a "how-to" or
how to (duh) make an OpenBSD box running squid act as a transparent
proxy ?"
                - Pedro Martel[l]et[t]o [de Alvarenga Bastos],
                                         aka Mister the Truth,
                    OpenBSD Developer since Pedro Marttelleto.

12