Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Feb 2001 03:49:42 -0800
From:      Julian Elischer <julian@elischer.org>
To:        Satyajeet Seth <sseth@sasken.com>
Cc:        net@freebsd.org
Subject:   Re: Using netgraph to implement pseudo interfaces
Message-ID:  <3A910856.CE68FEAC@elischer.org>
References:  <Pine.GSO.4.30.0102171456150.21367-100000@suns3.sasi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Satyajeet Seth wrote:
> 
> Hi
> 
> I wished to implement pseudo interfaces with the following requirements:
> 
> 1. There is a ethernet interface fxp0 having MAC address MAC0. It also
> receives packets with destination MAC address MAC1 and MAC2.
> 
> 2. The packets with destination MAC address MAC1 are sent to a pseudo
> interface 1 and packets with destination MAC address MAC2 are sent to
> pseudo interface 2.
> 
> 3. The packets addressed to MAC0 should be sent to sent to fxp0.
> 
> I plan to design  a netgraph as follows:
> 
>          iface1
>            /
> fxp0 <-> bpf
>            \
>          iface2

I forgot to add in my previous response that you'd have to do this like:

fxp0: <--> bpf <--> bpf <--> interface0
            \        \
             \        ------>interface1
              \ 
               \------------>interface2

as each bpfnode hook only selects between a 
"match" and "no match" hook.

you could do it with one node as follows:


            +----------------------------+
            |                            |
            +->(hook2)[   ]              |
fxp0:(lower)<->(hook1)[bpf](nomatch1)----+
                      [   ](match1)<-------->(upper)fxp0:
                      [   ](nomatch2)<------>(hook)iface1:
                      [   ](match2)<-------->(hook)iface2:

i.e. loop the data back through the same node twice to effect two rules on 
the same data.


> 
> fxp0, iface1, iface2, bpf are nodes of type ng_ether, ng_iface, ng_iface
> and ng_bpf respectively.
> 
> The packets with destination addresses MAC1 and MAC2 are sent to
> interfaces iface1 and iface2 respectively by bpf. Remaining are sent to
> fxp0.
> 
> Could you suggest some pitfalls/improvements in the above scheme?
> 
> I am using FreeBSD 4.0.
> 
> Thanks
> Satya
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message

-- 
      __--_|\  Julian Elischer
     /       \ julian@elischer.org
    (   OZ    ) World tour 2000-2001
---> X_.---._/  
            v


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A910856.CE68FEAC>