Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Oct 2016 09:26:09 +0330
From:      Samira Nazari <nazari.s11@gmail.com>
To:        Ian Smith <smithi@nimnet.asn.au>
Cc:        Shawn Bakhtiar <shashaness@hotmail.com>,  "freebsd-ipfw@freebsd.org" <freebsd-ipfw@freebsd.org>
Subject:   Re: change packets with IPFW divert
Message-ID:  <CAG1-nfy19SC_VSs=9vCVmq-01koL6rJ5fReyKiaNXV5JT5QRNQ@mail.gmail.com>
In-Reply-To: <20161019023739.D6806@sola.nimnet.asn.au>
References:  <CAG1-nfyJ0LRsFH1xMZJhfkLC8GgLSgTukOdD%2B2-xLqLx8FWrBw@mail.gmail.com> <CY1PR14MB052039CE53AE379BF6693C5DC4D30@CY1PR14MB0520.namprd14.prod.outlook.com> <20161019023739.D6806@sola.nimnet.asn.au>

next in thread | previous in thread | raw e-mail | index | archive | help
 Thank you for all of your comments and help.
In fact, I want to divert packets for one program that do header compression

Sam, Naz

On Tue, Oct 18, 2016 at 7:33 PM, Ian Smith <smithi@nimnet.asn.au> wrote:

> On Tue, 18 Oct 2016 14:21:50 +0000, Shawn Bakhtiar wrote:
>  > On Oct 18, 2016, at 6:49 AM, Samira Nazari <nazari.s11@gmail.com
> <mailto:nazari.s11@gmail.com>> wrote:
>  > > Hello every one,
>  > > When we diverte packets to the specified port with "IPFW divert" ,
>  > > we can change it and re-sent to the kernel?
>
>  > Not sure what you mean by change it but:
>  >
>  > "Divert sockets are similar to raw IP sockets, except that they can
>  > be bound to a specific divert port via the bind(2) system call.  The
>  > IP address in the bind is ignored; only the port number is
>  > significant.  A divert socket bound to a divert port will receive all
>  > packets diverted to that port by some (here unspecified) kernel
>  > mechanism(s).  Packets may also be written to a divert port, in which
>  > case they re-enter kernel IP packet processing."
>  >
>  > -- SRC: https://www.freebsd.org/cgi/man.cgi?query=divert&sektion=
> 4&apropos=0&manpath=FreeBSD+10.3-RELEASE+and+Ports
>
> Apart from divert(4), most likely the best example is the natd(8) code,
> which modifies packet source or destination addresses and (maybe) ports.
>
> Ignoring the NAT processing - or not, as appropriate - the way natd uses
> divert sockets both to receive packets from ipfw and later (perhaps) to
> reinject them for further processing should show clearly how it's done.
>
> cheers, Ian
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG1-nfy19SC_VSs=9vCVmq-01koL6rJ5fReyKiaNXV5JT5QRNQ>