On Wed, Aug 17, 2016 at 10:39:51AM +0100, Stuart Henderson wrote:
> On 2016/08/17 10:11, Peter Hessler wrote:
> > It sure would be nice if we could see the PID of the process that added
> > routes. Heck, route(8) even tries to print them already.
> >
> > Add the fields to the appropriate struct, and while here, document which
> > fields are in sync.
> >
> > (requested by krw@)
> >
> > OK?
> >
> >
> > Index: net/if.h
> > ===================================================================
> > RCS file: /cvs/openbsd/src/sys/net/if.h,v
> > retrieving revision 1.177
> > diff -u -p -u -p -r1.177 if.h
> > --- net/if.h 10 Jun 2016 20:33:29 -0000 1.177
> > +++ net/if.h 19 Jul 2016 13:41:53 -0000
> > @@ -267,6 +267,7 @@ struct if_msghdr {
> > int ifm_addrs; /* like rtm_addrs */
> > int ifm_flags; /* value of if_flags */
> > int ifm_xflags;
> > + pid_t ifam_pid; /* identify sender */
> > struct if_data ifm_data;/* statistics and other data about if */
> > };
>
> should this be ifm not ifam?
>
> it might be better after ifm_data (probably won't pack as well, but
> I think lower impact on software using if_msghdr).
>
No the goal is to keep the pid at the same offset of all routing messages
no matter what type. The drawback is that this is a ABI change and we need
to double check that it is possible to hump over this without breaking
network.
> >
> > @@ -286,6 +287,7 @@ struct ifa_msghdr {
> > int ifam_addrs; /* like rtm_addrs */
> > int ifam_flags; /* value of ifa_flags */
> > int ifam_metric; /* value of ifa_metric */
> > + pid_t ifam_pid; /* identify sender */
> > };
>
> I'll try to figure out ports impact of this, but it probably won't be today.
>
--
:wq Claudio