Netgraph - Breaks "ping"

Len Gross sandiegobiker at gmail.com
Mon Oct 22 19:28:27 PDT 2007


Exactly right.
I must have read the ng_ehter man page 20 times, but now it looks obvious.
Thanks so much for the help.
(Might need more later, as this is just the tip of a project iceberg.)

-- Len


On 10/22/07, Marko Zec <zec at icir.org> wrote:
>
> On Monday 22 October 2007 07:06:30 Len Gross wrote:
> > I'm trying to "monitor" an ethernet interface with a tee node, but
> > ping breaks when I setup the graph.  I suspect I'm doing something
> > "dumb" with respect to how the Ethernet node and/or  the iface (ng0)
> > need to be configured in order to make this work, or possibly I'm
> > really using ng0 incorrectly.  (I've also tried this with a "direct
> > connect" of rl0: to ng0: which also doesn't work.)
>
> You don't need an iface (ng0) node to be able to hook a monitoring ngctl
> process to the ng_tee node.  Just as you've connected rl0.lower hook to
> the tee node, connect the rl0.upper hook to the tee node instead of
> ng0.
>
> Marko
>
>
> > Before Netgraph
> >
> >   Machine Setup
> >
> >   Machine 1 192.168.4.1
> >
> >   Machine 2: 192.168.4.4 (rl0)
> >
> >   Machine 1 can ping machine 2 going through rl0
> >
> >
> >
> > BSD-1# ifconfig rl0
> >
> > rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >
> >         options=8<VLAN_MTU>
> >
> >         inet6 fe80::248:54ff:fe8b:1cc8%rl0 prefixlen 64 scopeid 0x3
> >
> >         inet 192.168.4.4 netmask 0xffffff00 broadcast 192.168.4.255
> >
> >         ether 00:48:54:8b:1c:c8
> >
> >         media: Ethernet autoselect (100baseTX <full-duplex>)
> >
> >         status: active
> >
> >
> >
> > Now on Machine 2, I set up netgraph:
> >
> >
> >
> > Kldload ng_ether
> >
> >
> >
> > Using ngctl to create a path from rl0: to tee: to ng0:
> >
> > Here is the list and show output.
> >
> >
> >
> > There are 6 total nodes:
> >
> >   Name: ng0                   Type: iface           ID: 00000008
> > Num hooks: 1
> >
> >   Name: tee                   Type: tee                    ID:
> > 00000007   Num hooks: 4
> >
> >   Name: rl0                   Type: ether           ID: 00000004
> > Num hooks: 1
> >
> >   Name: wi0                  Type: ether           ID: 00000003   Num
> > hooks: 0
> >
> >   Name: xl0                    Type: ether           ID: 00000002
> > Num hooks: 0
> >
> >   Name: ngctl681           Type: socket          ID: 00000001   Num
> > hooks: 2
> >
> >
> >
> > + show tee:
> >
> >   Name: tee             Type: tee             ID: 00000007   Num
> > hooks: 4
> >
> >   Local hook      Peer name       Peer type    Peer ID         Peer
> > hook
> >
> >
> >   ----------      ---------       ---------    -------
> > ---------
> >
> >
> >   left2right      ngctl681        socket       00000001        upper
> >
> >
> >   left                   ng0             iface        00000008
> > inet
> >
> >
> >   right                rl0             ether        00000004
> > lower
> >
> >
> >   right2left      ngctl681        socket       00000001        lower
> >
> >
> >
> > + show rl0:
> >
> >   Name: rl0             Type: ether           ID: 00000004   Num
> > hooks: 1
> >
> >   Local hook      Peer name       Peer type    Peer ID         Peer
> > hook
> >
> >
> >   ----------      ---------       ---------    -------
> > ---------
> >
> >
> >   lower           tee             tee          00000007        right
> >
> >
> >
> > + show ng0:
> >
> >   Name: ng0             Type: iface           ID: 00000008   Num
> > hooks: 1
> >
> >   Local hook      Peer name       Peer type    Peer ID         Peer
> > hook
> >
> >
> >   ----------      ---------       ---------    -------
> > ---------
> >
> >
> >   inet            tee             tee          00000007        left
> >
> >
> >
> >
> >
> >
> > Now I use machine 1 to ping machine 2 and here is what I get on the
> > ngctl screen.
> >
> >
> >
> > Rec'd data packet on hook "lower":
> >
> > 0000:  00 48 54 8b 1c c8 00 02 3f 8a d6 44 08 00 45 00
> > .HT.....?..D..E.
> >
> > 0010:  00 3c 02 19 00 00 80 01 af 52 c0 a8 04 01 c0 a8
> > .<.......R......
> >
> > 0020:  04 04 08 00 2a 5c 02 00 21 00 61 62 63 64 65 66
> > ....*\..!.abcdef
> >
> > 0030:  67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76
> > ghijklmnopqrstuv
> >
> > 0040:  77 61 62 63 64 65 66 67 68 69                    wabcdefghi
> >
> >
> >
> > This looks kind-of right, but I don't get anything back from the ng0
> > node ( i.e no other output to ngctl.)  Also, machine 1 "times out"
> > its ping.
> >
> >
> >
> > BSD-1# ifconfig ng0
> >
> > ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu
> > 1500
> >
> >         inet6 fe80::201:3ff:fe24:ffe3%ng0 prefixlen 64 scopeid 0x6
> >
> >
> >
> > I've also tried giving ng0 inet addresses, but got the same results.
> >
> >
> >
> > Help!
> >
> >
> >
> > -- Len
> > _______________________________________________
> > freebsd-net at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to
> > "freebsd-net-unsubscribe at freebsd.org"
>
>
>


More information about the freebsd-net mailing list