Date: Fri, 22 Sep 2006 08:18:36 +0400 From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: Roman Bogorodskiy <novel@FreeBSD.org> Cc: freebsd-ipfw@FreeBSD.org, Gleb Smirnoff <glebius@FreeBSD.org>, Oleg Bulyzhin <oleg@FreeBSD.org>, Luigi Rizzo <rizzo@icir.org> Subject: Re: kern/103454: [ipfw] [patch] add a facility to modify DF bit of the IP packet Message-ID: <4513641C.3010002@yandex.ru> In-Reply-To: <200609211400.k8LE0uMN075069@freefall.freebsd.org> References: <200609211400.k8LE0uMN075069@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Roman Bogorodskiy wrote: > +.It Cm setdf Ar value > +Changes > +.Cm DF > +bit of the IP packet. > +Value may be 0 (May Fragment) or 1 (Don't Fragment). May be, it would be more handy make this feature via modifier (not an action). Rule format: <action> [setdf|resetdf] <rule body> Or more extensible, use not only DF modification: <action> [{modip [DF|TOS|DSCP|TTL]}] <rule body> I think this is easy to pack any of an instructions into one ipfw_insn_xx structure. > + case O_SET_IPDF: > + switch (cmd->arg1) { > + case 0: > + ip->ip_off &=3D ~IP_DF; > + break; > + case 1: > + ip->ip_off |=3D IP_DF; > + break; > + default: > + goto next_rule; > + /* NOTREACHED */ We can check cmd->arg1 for correct values in the ipfw_chk function. -- WBR, Andrey V. Elsukov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4513641C.3010002>