On 10/06/17(Sat) 11:55, Stefan Sperling wrote: > On Sat, Jun 10, 2017 at 11:47:27AM +0200, Martin Pieuchot wrote: > > On 10/06/17(Sat) 08:35, Stefan Sperling wrote: > > > On Fri, Jun 09, 2017 at 05:37:44PM +0100, Jason McIntyre wrote: > > > > why do you have to specify 0.0.0.0 *and* dynaddr? > > > [...] > > > Regardless, you probably *do* want a dummy address. An address is needed > > > in order to add a dummy default route which will be updated once the pppoe > > > interface comes up (more details forthcoming in my reply to naddy's > > > question). > > > > So why not fix the problem? How many years are we going to continue > > to add workaround for p2p interfaces? > > > > I send a diff last year to start doing that: > > http://marc.info/?l=openbsd-tech&m=146539593821612&w=2 > > > > Since nobody jumped in the boat and I already have ETOOMANYTHING to do > > I dropped the diff. > > > > That's cool. > But I don't think it conflicts with the change I'm trying to make. > Does it?
No it does not, it makes it obsolete because it fixes the problem. Currently there are implicit 'dynaddr' and 'dyndest' arguments. They are just broken. If there's a real need for such arguments, because somebody use pppoe(4) with static IP/route then why not. But that's not what you said. What you said is that the current hack of 0.0.0.0+0.0.0.1 is broken. I'm not fan of your approach because it makes pppoe(4) special, does umb(4) will need 'dynaddr' and 'dyntest' too? Now the 0.0.0.1 hack is broken since 5.8, why not just fix it? EEXIST means the routing table already found an entry with this destination. This is due to the fact that a host route with destination 0.0.0.1 and gateway 0.0.0.0 already exists. Theses values don't matter and I don't see anything in if_spppsubr.c that check for the gateway being 0.0.0.1 So IMHO if what you want is fix the EEXIST, I'd do that. If what you want is fix the crappy config of pppoe(4)/umb(4)/any p2p interface, you have my diff. If what you want is to *not have* dynamic configuration on your pppoe(4) then your diff might make sense.
