From owner-freebsd-net@FreeBSD.ORG Mon Nov 25 17:30:53 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0CE1C8EF for ; Mon, 25 Nov 2013 17:30:53 +0000 (UTC) Received: from mail.euro-comm.net (mail.euro-comm.net [194.190.78.14]) by mx1.freebsd.org (Postfix) with ESMTP id C06512A83 for ; Mon, 25 Nov 2013 17:30:52 +0000 (UTC) Received: from [192.168.1.98] (unknown [194.190.78.9]) by mail.euro-comm.net (Postfix) with ESMTPSA id 687816BD5DF for ; Sun, 24 Nov 2013 01:06:04 +0400 (MSK) From: Victor Gamov Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: Netgraph ng_patch and ng_input: where to find packets? Date: Sun, 24 Nov 2013 01:05:58 +0400 Message-Id: To: freebsd-net@freebsd.org Mime-Version: 1.0 (Apple Message framework v1283) X-Mailer: Apple Mail (2.1283) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Nov 2013 17:30:53 -0000 Hi All I want to get 2 or 3 copies of input packet at my system to resend it to = new destinations. So I prepare following configuration: # ipfw add 10000 ngtee 100 udp from any to 239.0.0.19 dst-port 1234 in = via vlan999 # ngctl mkpeer ipfw: hub 100 hub-in # ngctl name ipfw:100 hub100 # ngctl mkpeer hub100: patch hub100-out1 in # ngctl name hub100:hub100-out1 patch100 # ngctl msg patch100: setconfig '{ count=3D1 csum_flags=3D1 ops=3D[ { = value=3D0xc0a8e680 offset=3D16 length=3D4 mode=3D1 } ] }' Now when I connect to patch:out as=20 # nghook -a patch100: out then I see packets with new IP: 0000: 45 00 05 40 00 00 40 00 ff 11 b9 27 c0 a8 0d 12 0010: c0 a8 e6 80 04 dc 04 dc 05 2c 00 00 47 4c ef 1a Now I want to put this packets back into IP processing to send it to new = destination 192.168.230.128 (0xc0a8e680): # ngctl mkpeer patch100: ip_input out new100_to_dst_1 But packets not shown on outgoing interface: # ifconfig vlan333 vlan333: flags=3D8843 metric 0 = mtu 1500 options=3D103 ether 00:1b:21:5b:7e:e9 inet 192.168.230.9 netmask 0xffffff00 broadcast 192.168.230.255 # arp 192.168.230.128 ? (192.168.230.128) at 62:99:4c:3b:22:fc on vlan333 expires in 1190 = seconds [vlan] Can somebody explain me where I was wrong? Thanks! -- CU, Victor Gamov