Date: Wed, 13 Jul 2011 11:00:29 +1000 From: Peter Jeremy <peter.jeremy@alcatel-lucent.com> To: Ermal =?iso-8859-1?Q?Lu=E7i?= <eri@freebsd.org> Cc: "freebsd-pf@freebsd.org" <freebsd-pf@freebsd.org> Subject: Re: [PATCH] PF+dummynet Message-ID: <20110713010029.GE65891@pjdesk.au.alcatel-lucent.com> In-Reply-To: <BANLkTimyfZ=-UCxLAE_XX7BH3a0YLHdFKQ@mail.gmail.com> References: <9a542da30710161409o4732a77bybdf4ba35d7491bb@mail.gmail.com> <200710171043.08126.max@love2party.net> <d5992baf0710171324n65c4b171l71db8aeac445b52d@mail.gmail.com> <9a542da30710211232v4d3c930fg8ea778a12f3f16cb@mail.gmail.com> <9a542da30710280617t11e668e2o4d122998192f71c@mail.gmail.com> <20081103060321.GA45414@server.vk2pj.dyndns.org> <9a542da30811040753m1a2728bcu365c65da8fb61721@mail.gmail.com> <20110629044233.GB65891@pjdesk.au.alcatel-lucent.com> <BANLkTimyfZ=-UCxLAE_XX7BH3a0YLHdFKQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--m0XfRaZG5aslkcJX Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2011-Jun-29 16:26:34 +0800, Ermal Lu=E7i <eri@freebsd.org> wrote: >On Wed, Jun 29, 2011 at 6:42 AM, Peter Jeremy ><peter.jeremy@alcatel-lucent.com> wrote: >> Has anyone adapted the PF+dummynet patches for 8.x or 9.x? > >Well the patch is this >https://github.com/bsdperimeter/pfsense-tools/blob/master/patches/RELENG_8= _1/dummynet.RELENG_8.diff >It should apply to 8.x without problems. >Some manual work for any rejection might be needed because of other >patches present in pfSense. I notice that the issue of pipe/queue configuration has been excised =66rom pfctl(8) and relies on ipfw(8) (hopefully only as a stopgap). Having looked at how ipfw(4) and dummynet(4) have been roto-tilled, I can understand why, but this is not especially convenient for me and I'm looking at implementing the missing functionality. There appear to be two possible approaches to move forward: 1) Include ipfw/dummynet.c into pfctl(8) and modify pfctl/parse.y to accumulate pipe/queue configuration options into an argv array that can be passed to ipfw_config_pipe(). 2) Implement the functional equivalent of ipfw/dummynet.c::ipfw_config_pipe= () in pfctl/parse.y. The former approach looks simpler (apart from the code to collect the arguments into an argv array, there are 8 fairly simple support functions that need to be implemented or copied from ipfw) but it's not clear that the error handling approaches are compatible. The latter appears to be more work and results in more code duplication but maintains better internal consistency in pfctl. (The other two approaches I considered but discarded were to use ipfw(8) for configuration or to copy struct dn_pipe{7,8} from ip_dn_glue.c and continue to use the deprecated IP_DUMMYNET_CONFIGURE interface). Has the pfSense Project looked at how it will implement pipe/queue configuration? And, if so, what approach will you be using? --=20 Peter Jeremy --m0XfRaZG5aslkcJX Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iEYEARECAAYFAk4c7i0ACgkQ/opHv/APuIfGLwCdG3aAcqym+4mFx9RMM7q0h9qP tnkAnR8cBNcroQ3SN1YscZjr3MSsLdDE =1qgV -----END PGP SIGNATURE----- --m0XfRaZG5aslkcJX--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110713010029.GE65891>