svn commit: r274315 - in head/sys/netpfil: ipfw pf

Bruce Evans brde at optusnet.com.au
Sun Nov 9 22:38:09 UTC 2014


On Sun, 9 Nov 2014, Konstantin Belousov wrote:

> On Sun, Nov 09, 2014 at 09:00:00PM +0400, Alexander V. Chernikov wrote:
>> On 09.11.2014 20:29, Konstantin Belousov wrote:
>>> On Sun, Nov 09, 2014 at 04:15:29PM +0000, Alexander V. Chernikov wrote:
>>>> Author: melifaro
>>>> Date: Sun Nov  9 16:15:28 2014
>>>> New Revision: 274315
>>>> URL: https://svnweb.freebsd.org/changeset/base/274315
>>>>
>>>> Log:
>>>>    Remove unused 'struct route' fields.
>>>>
>>>> Modified:
>>>>    head/sys/netpfil/ipfw/ip_fw_private.h
>>>>    head/sys/netpfil/pf/pf.c
>>>>
>>>> Modified: head/sys/netpfil/ipfw/ip_fw_private.h
>>>> ==============================================================================
>>>> --- head/sys/netpfil/ipfw/ip_fw_private.h	Sun Nov  9 15:53:29 2014	(r274314)
>>>> +++ head/sys/netpfil/ipfw/ip_fw_private.h	Sun Nov  9 16:15:28 2014	(r274315)
>>>> @@ -66,14 +66,12 @@ enum {
>>>>    */
>>>>   struct _ip6dn_args {
>>>>          struct ip6_pktopts *opt_or;
>>>> -       struct route_in6 ro_or;
>>>>          int flags_or;
>>>>          struct ip6_moptions *im6o_or;
>>>>          struct ifnet *origifp_or;
>>>>          struct ifnet *ifp_or;
>>>>          struct sockaddr_in6 dst_or;
>>>>          u_long mtu_or;
>>>> -       struct route_in6 ro_pmtu_or;
>>>>   };
>>>>
>>>>
>>>>
>>>> Modified: head/sys/netpfil/pf/pf.c
>>>> ==============================================================================
>>>> --- head/sys/netpfil/pf/pf.c	Sun Nov  9 15:53:29 2014	(r274314)
>>>> +++ head/sys/netpfil/pf/pf.c	Sun Nov  9 16:15:28 2014	(r274315)
>>>> @@ -140,14 +140,12 @@ struct pf_send_entry {
>>>>   		PFSE_ICMP6,
>>>>   	}				pfse_type;
>>>>   	union {
>>>> -		struct route		ro;
>>>>   		struct {
>>>>   			int		type;
>>>>   			int		code;
>>>>   			int		mtu;
>>>>   		} icmpopts;
>>>>   	} u;
>>> There is a single member of union u now.  Is the union needed still ?
>> No. Fixed in r274320, thank you!
> Well, next question is why icmpopts is struct, instead of using
> directly members of the containing structure.  It made sense when icmpopts
> was overlapped with ro, but for what it is kept around now ?
>
>>>
>>>> -#define	pfse_ro		u.ro
>>>>   #define	pfse_icmp_type	u.icmpopts.type
>>>>   #define	pfse_icmp_code	u.icmpopts.code
>>>>   #define	pfse_icmp_mtu	u.icmpopts.mtu

Question after the next is why the struct member names and indentation
are so bad.  The short names (without unique prefixes) made some sense
for nested struct/union member names.  Full, excessively verbose
prefixes were used in the #defined values.  Now, no prefixes are used
for the replacements.

Bruce


More information about the svn-src-all mailing list