Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jul 2014 10:40:58 +0800
From:      Niu Zhixiong <kaiaixi@gmail.com>
To:        Sami Halabi <sodynet1@gmail.com>, freebsd-net@freebsd.org
Subject:   Re: A question on modifying packet.
Message-ID:  <CAOENNMAkeZP7=rQsJDYEjTanUJUN%2BT7kc2kY95arP_T4NG8qtQ@mail.gmail.com>
In-Reply-To: <CAEW%2BoganLM=as%2Bb2GOsKbqbsjw95uMnfVKVj09ZdFndvO8V21Q@mail.gmail.com>
References:  <CAOENNMA-%2B6P2tT3JTusH3Q8Qz4O7XnAc0ZEjVRqxU3W342sp%2Bg@mail.gmail.com> <53BD7317.9030008@freebsd.org> <CAEW%2BoganLM=as%2Bb2GOsKbqbsjw95uMnfVKVj09ZdFndvO8V21Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Sry, The problem is that I receive the packet from this NIC and send this
packet via the same NIC? Does netmap can help me?

Regards,
Niu Zhixiong
=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=
=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D
 kaiaixi@gmail.com


On Thu, Jul 10, 2014 at 1:47 AM, Sami Halabi <sodynet1@gmail.com> wrote:

> use netgraph.
> In theory it should work.. in practice It worked for me once, but couldn'=
t
> repeat the success.
>
> See ng_patch. Here is the code i tried:
> kldload ng_patch
> kldload ng_ipfw
> /usr/sbin/ngctl -f- << SEQ
>                  mkpeer ipfw: patch 300 in
>                  name ipfw:300 src_dst_chg
>                  msg src_dst_chg: setconfig { count=3D2 csum_flags=3D1
> ops=3D[         \
>                          { mode=3D1 value=3D0xc0a8e609 length=3D4 offset=
=3D12 }  \
>                          { mode=3D1 value=3D0xc0a8e680 length=3D4 offset=
=3D16 } ] }
>          SEQ
> /sbin/ipfw add 600 netgraph 300 log ip from any to 239.0.0.19 dst-port
> 1234 in via vlan999
>
> Sami
> On 7/9/14, 1:01 PM, Niu Zhixiong wrote:
>
>> Hi, all
>> I have only one NIC. I want to capture packets from one certain ip addre=
ss
>> and change the both src and dst addresses and forward to other destinati=
on
>> via the same NIC. It is possible? Is there any library to help me do thi=
s?
>>
> there is no library, but look at how natd does this using divert sockets.
>
>
>>
>> Regards,
>> Niu Zhixiong
>> =EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=
=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D=EF=BC=8D
>>   kaiaixi@gmail.com
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>>
>>
>>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOENNMAkeZP7=rQsJDYEjTanUJUN%2BT7kc2kY95arP_T4NG8qtQ>