Netgraph - Breaks "ping"

Marko Zec zec at icir.org
Mon Oct 22 05:53:54 PDT 2007


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