Re: Netgraph - Breaks "ping"



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@xxxxxxxx> 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@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to
"freebsd-net-unsubscribe@xxxxxxxxxxx"



_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Netgraph - Breaks "ping"
    ... I'm trying to "monitor" an ethernet interface with a tee node, but ping ... configured in order to make this work, or possibly I'm really using ng0 ... Machine 1 can ping machine 2 going through rl0 ...
    (freebsd-net)
  • Re: Netgraph - Breaks "ping"
    ... really using ng0 incorrectly. ... Machine 2: 192.168.4.4 (rl0) ... Machine 1 can ping machine 2 going through rl0 ... Num hooks: 1 ...
    (freebsd-net)