[Bug 240609] iflib: Panic with INVARIANTS: sleeping in an epoch section (12.1-pre-QA) (vlan + lagg involved)

2019-10-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240609

Gleb Smirnoff  changed:

   What|Removed |Added

   Assignee|n...@freebsd.org |gleb...@freebsd.org

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Dropping the type argument from the mtod macro

2019-10-12 Thread Conrad Meyer
Hi all,

(net@ is BCC'd to keep discussion on arch@.)

In the past we've moved away from macros with explicit types as
parameters, in favor of casting void* results as needed (e.g.,
MALLOC()).

I'd like to do the same with mtod.  The refactoring is easy enough to
do safely with a Coccinelle semantic patch.  The semantic patch
converts instances of "mtod(m, t)" to "(t)mtod(m)".

markj@ and rrs@ both point out that the network stack uses the type
argument as a visual tool in large functions where the declaration of
the lvariable isn't necessarily nearby its use.  I think the
"(t)mtod(m)" preserves that utility as a visual tool; I may be
mistaken.

Currently, the semantic patch drops the explicit "(t)" in two limited
cases: "t" is "void *", or the "mtod()" invocation is used during
initial variable declaration and assignment.  The reasoning is that in
both cases, the "t" isn't giving you any additional information.
Neither of these exceptions is core to the idea, and either could be
removed.

What do you think?  A rough draft of the proposal is sketched out
here: https://reviews.freebsd.org/D21669

Best,
Conrad

P.S., On an earlier version of this revision, markj@ and emaste@ both
expressed concern for downstream consumers.  There are two aspects of
the current differential that should smooth that experience.  First, a
backwards-compatible two-argument mtod(m, t) is retained using an ugly
macro hack.  (Existing code compiles without modification.)  Second,
the coccinelle semantic patch will be checked in to the tree somewhere
for use by downstream consumers that want to convert their code.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: [SOLVED] Re: FRR on FreeBSD 12 - problems with OSPFv3

2019-10-12 Thread Rodney W. Grimes
> 
> 
> 
> On 10/11/19 4:14 PM, BulkMailForRudy wrote:
> >
> > Thanks for the questions, good for me to think about it some more.? 
> > Short response:
> >
> > ?I don't think it is the FRR config, but the routes received that are 
> > crashing it or ospf6d has some other issue.
> >
> 
> 
> Got it running!? I tested the theory that 'bad routes' were crashing 
> ospf6d.? This did it.? I have some odd,legacy,test /124 blocks in the 
> network (will ferret them out), but filtering the routes fixes this.
> 
> router ospf6
>  ?auto-cost reference-bandwidth 1
>  ?area 0.0.0.0 filter-list prefix IN-OSPF6 in
>  ?interface cxl1 area 0.0.0.0
>  ?interface cxl2 area 0.0.0.0
>  ?interface cxl3 area 0.0.0.0
> !
> ipv6 prefix-list IN-OSPF6 seq 3 permit 2607:f598::/32 le 64
> ipv6 prefix-list IN-OSPF6 seq 99 deny ::/0 le 128
> 
> 
> Rudy

Great,
Would you still please open an issue as pointed out in another
email at the FRR site, this helps them track and close the underlying
problem.  No route received from any peer should *crash* a daemon.

Including this additional data may help them to identify the problem.
Regards,
-- 
Rod Grimes rgri...@freebsd.org
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: FRR on FreeBSD 12 - problems with OSPFv3

2019-10-12 Thread Rodney W. Grimes
> 
> Thanks for the questions, good for me to think about it some more.? 
> Short response:
> 
>  ?I don't think it is the FRR config, but the routes received that are 
> crashing it or ospf6d has some other issue.
> 
> 
> On 10/11/19 2:12 PM, Rodney W. Grimes wrote:
> >> I just upgraded from FreeBSD 11 to 12 and upgrade from quagga to FRR at
> >> the same time. I've tried frr6 and frr7 and get the same errors.
> >>
> >> bgpd and ospfd work fine, but ospf6 doesn't work.? Not sure what I'm
> >> going wrong.
> >>
> >> If I commend out all the interfaces EXCEPT lo0, ospf6d does not crash.
> > What if you comment out just lo0?   Running OSPF on a loopback
> > interface makes no since, your not going to be able to establish
> > a DR/BDR pair so OSPF can never really come up on that interface,
> > and if it did injecting any route from 127/8 into the OSPF lsdb
> > would be very bad!
> >
> > Though I doubt this is the source of the illegal instuction trap
> > it is none the less a configuration issue.
> 
> 
> Personally, I always put a 172.17.x.x IP on my lo0 and then advertise 
> that into my network.? I don't make it part of the router config, but I 
> wanted a 'test device' to boot ospf6d and see it crash.? Also, the docs 
> on FRR have an lo0.

Putting an IP on lo0 and injecting it into OSPF via a redistribution
is quiet normal, but actually RUNNING ospf on lo0 is not needed, nor
even functional as you have no peer to speak to on that interface
and ospf can never form an adjacency.

I'll ask the FRR folks about why they are showing ospf on lo0,
unless I am missing some this makes no since to me at all.

> I do advertise my 172.17.x.x IP on the loobpback:? This is how I verify 
> OSPF is up -- the IPwill ping from other devices on the network when 
> OSPF is up.? For IPv6, I put a whole /64 on the lo0. So many IPs in v6.? :)

Again, valid, but that does not require the ospf link layer protocol
to actually be running on lo0, just a redistribute of a static into
ospf as an Type 1 or 2 ASE route.

> >> *** LOGS ***
> >>
> >> 2019/10/10 23:19:31 OSPF6: Scheduling cxl1 for sso
> >> 2019/10/10 23:19:31 OSPF6: SPF: Scheduled in 0 msec
> >> 2019/10/10 23:19:31 OSPF6: SPF processing: # Areas: 1, SPF runtime: 0
> >> sec 5 usec, Reason: L+
> >>
> >> 2019/10/10 23:19:31 OSPF6: Scheduling cxl2 for sso
> >> 2019/10/10 23:19:31 OSPF6: SPF: Scheduled in 50 msec
> >> 2019/10/10 23:19:31 OSPF6: Scheduling cxl3 for sso
> >> 2019/10/10 23:19:31 OSPF6: Neighbor state change 172.17.24.25%cxl3:
> >> [Down]->[Init] (HelloReceived)
> >> 2019/10/10 23:19:31 OSPF6: Neighbor state change 172.17.24.25%cxl3:
> >> [Init]->[ExStart] (2-WayReceived)
> >> 2019/10/10 23:19:31 OSPF6: Neighbor state change 172.17.24.25%cxl3:
> >> [ExStart]->[ExChange] (NegotiationDone)
> >> 2019/10/10 23:19:31 OSPF6: Neighbor state change 172.17.24.25%cxl3:
> >> [ExChange]->[Loading] (ExchangeDone)
> >> 2019/10/10 23:19:31 OSPF6: SPF processing: # Areas: 1, SPF runtime: 0
> >> sec 109 usec, Reason: R+, R-, L+
> >>
> >> 2019/10/10 23:19:31 OSPF6: SPF: Scheduled in 83 msec
> >> 2019/10/10 23:19:31 OSPF6: SPF processing: # Areas: 1, SPF runtime: 0
> >> sec 116 usec, Reason: R+, N+, L+
> >>
> >> 2019/10/10 23:19:33 OSPF6: Neighbor state change 10.8.254.122%cxl1:
> >> [Down]->[Init] (HelloReceived)
> >> 2019/10/10 23:19:33 OSPF6: Neighbor state change 10.8.254.122%cxl1:
> >> [Init]->[ExStart] (2-WayReceived)
> >> 2019/10/10 23:19:33 OSPF6: Neighbor state change 10.8.254.122%cxl1:
> >> [ExStart]->[ExChange] (NegotiationDone)
> >> 2019/10/10 23:19:33 OSPF6: Neighbor state change 10.8.254.122%cxl1:
> >> [ExChange]->[Loading] (ExchangeDone)
> >> 2019/10/10 23:19:33 OSPF6: SPF: Scheduled in 0 msec
> >> 2019/10/10 23:19:33 OSPF6: SPF processing: # Areas: 1, SPF runtime: 0
> >> sec 99 usec, Reason: R+, R-
> >>
> >> 2019/10/10 23:19:36 OSPF6: Neighbor state change 172.17.24.25%cxl3:
> >> [Loading]->[Full] (LoadingDone)
> >> 2019/10/10 23:19:36 OSPF6: SPF: Scheduled in 0 msec
> >> 2019/10/10 23:19:31 ZEBRA: client 32 says hello and bids fair to
> >> announce only ospf6 routes vrf=0
> >> 2019/10/10 23:19:38 ZEBRA: [EC 4043309117] Client 'ospf6' encountered an
> >> error and is shutting down.
> >> 2019/10/10 23:19:38 ZEBRA: release_daemon_table_chunks: Released 0 table
> >> chunks
> >> 2019/10/10 23:19:38 ZEBRA: release_daemon_label_chunks: Released 0 label
> >> chunks
> >> 2019/10/10 23:19:39 ZEBRA: client 32 disconnected. 100 ospf6 routes
> >> removed from the rib
> >>
> >> *** CRASH ***
> > Zebra process crashes after the ospf6 process has encountered some error
> > and shut down or are you indicatong that the OSPF6D process has crashed?
> OSPF6d crashes, zebra just notes the client #32, the ospf6 process, 
> saying hello and goodbye.

Ok, thanks for clarifing that.

> >> If I run on the command line and don't background, it bombs after 7
> >> seconds:
> >> # ospf6d
> >> Illegal instruction
> ...
> >> What happens if you remove this lo0 section?
> 
> 
> Still crashes, 

[Bug 240608] iflib: Panic with INVARIANTS: Memory modified after free (12.1-pre-QA)

2019-10-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240608

--- Comment #4 from Harald Schmalzbauer  ---
tested with RC1:
Still same panic as soon as if_vmx(4) get's load _and_ jumbo frames are in use
(mtu 9000).

Unfortunately, solid vmxnet3 support is crucial to my setups.
I managed to patch the vmware vmxnet3 guest driver to work with FreeBSD 12, but
it also suffers from panics…
The vmware vmxnet3 driver provides doubled transfer rates compared to
if_vmx(3), but my skills and time don't last to fix any of both myself.

In case anyone is interested in the vmxnet3 patch I'll provide on request of
course, but won't pollute this bug report with anything completely different.

-harry

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: FRR on FreeBSD 12 - problems with OSPFv3

2019-10-12 Thread Nicolas DEFFAYET via freebsd-net
On Fri, 2019-10-11 at 16:14 -0700, BulkMailForRudy wrote:

Hello,

> Thanks for the questions, good for me to think about it some more.  
> Short response:
> 
>   I don't think it is the FRR config, but the routes received that
> are 
> crashing it or ospf6d has some other issue.

FRR 7.1, the last release have a lot of ospf6d issues making it very
unreliable. The only way to have reliable ospf6d is to keep quagga
unfortunately.

I have troubles in routes exchanges with ospf6d but never get daemon
crash.

On my loopback, I have an IPv4 address with /32 netmask and an IPv6
address with /64 netmask.

If your configuration work fine with Quagga, and you add a router-id
statement at the root of configuration (FRR have moved router-id
statement outside of 'router ospf6' statement), it should work with
FRR.

If it didn't works, open a bug: https://github.com/FRRouting/frr/issues


-- 
Nicolas DEFFAYET
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


[Bug 240609] iflib: Panic with INVARIANTS: sleeping in an epoch section (12.1-pre-QA) (vlan + lagg involved)

2019-10-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240609

--- Comment #4 from Harald Schmalzbauer  ---
(In reply to Hans Petter Selasky from comment #3)

Happy to confirm that your patch prevents the machine from panicking during
vlan(4) child setup.
Haven't done further tests, but to my very limited understanding of the change,
any side effects are very unlikely.

Thanks,

-harry

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


[SOLVED] Re: FRR on FreeBSD 12 - problems with OSPFv3

2019-10-12 Thread Rudy




On 10/11/19 4:14 PM, BulkMailForRudy wrote:


Thanks for the questions, good for me to think about it some more.  
Short response:


 I don't think it is the FRR config, but the routes received that are 
crashing it or ospf6d has some other issue.





Got it running!  I tested the theory that 'bad routes' were crashing 
ospf6d.  This did it.  I have some odd,legacy,test /124 blocks in the 
network (will ferret them out), but filtering the routes fixes this.


router ospf6
 auto-cost reference-bandwidth 1
 area 0.0.0.0 filter-list prefix IN-OSPF6 in
 interface cxl1 area 0.0.0.0
 interface cxl2 area 0.0.0.0
 interface cxl3 area 0.0.0.0
!
ipv6 prefix-list IN-OSPF6 seq 3 permit 2607:f598::/32 le 64
ipv6 prefix-list IN-OSPF6 seq 99 deny ::/0 le 128


Rudy

___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: DHCPv6 client in base

2019-10-12 Thread Roy Marples via freebsd-net

On 12/10/2019 03:04, Hiroki Sato wrote:

  I emphasize again here that people who want to use dhcpcd are still
  able to install net/dhcpcd and override a combination of utilities
  such as rtsold.  Ditto for ISC's IPv6-capable dhclient.  My opinion
  about the import is that if we adopt dhcpcd in the base system, we
  should replace all of the current dhclient for IPv4 and rtsold
  together.  Of course we should consider it will need Capsicum or
  privsep for sandboxing and involve a bigger impact for IPv4 users at
  least.


I agree with what you say entirely - and I would imagine similar work 
would be needed for any DHCP6 client. I have no idea how privsep or 
Capsicum should work under dhcpcd (I have zero knowledge in these areas) 
and would welcome any discussion to move this forwards.


For privsep, would it be enough to open ports, drop privs, read the 
message, validate the message and then send it to the root process? Or 
is there something more expected?


Roy
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


[Bug 210726] tcp connect() can return invalid EADDRINUSE

2019-10-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210726

--- Comment #18 from a...@playground.ru ---
This bug is very easy to fix, why not to do it?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


[Bug 241162] Panic in closefp() triggered by nginx

2019-10-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241162

--- Comment #3 from Christos Chatzaras  ---
rlwestl...@gmail.com :

I had some crashes in the past with servers running Nginx, but I am not sure if
it's the same panic as 2 of them had bad RAM modules so possibly some crashes
were related to hardware.

The fix described in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239893
is in stable/12 and 12.1.

Can you upgrade your system to 12.1-RC1 to see if it fixes the issue?

Also, do you have sendfile enabled in Nginx?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: DHCPv6 client in base

2019-10-12 Thread Hiroki Sato
Roy Marples  wrote
  in :

ro> On 11/10/2019 20:40, Hiroki Sato wrote:
ro> >   I do not have a strong objection on dhcpcd (I am using it on some of
ro> >   my FreeBSD boxes actually) but let me explain the reason why I chose
ro> >   wide-dhcp as the candidate.  That is because it is a small,
ro> >   functional DHCPv6-only implementation.  I am planning to rewrite it
ro> >   to add the missing bits and adjust it for a tighter integration with
ro> >   kernel, ifconfig, rtsold, rtadvd, and sandboxing with Capsicum.  I
ro> >   feel dhcpcd (or others) is too big for that purpose.
ro>
ro> How are you measuring that dhcpcd is too big?
..
ro> I don't consider dhcpcd to be big at all, and would love to know your
ro> rationale for calling it so.

 I did not mean the binary size.  Again, what I need for the base
 system import is source code just for core DHCPv6 procotol for
 further FreeBSD-specific changes.  dhcpcd contains source code for
 the other protocols than DHCPv6 and non-FreeBSD platforms though it
 is possible to compile a part of them, and applying changes to it
 would not be FreeBSD-only thing because you are maintaining it in a
 portable manner actively.  Importing involves those kind of aspects.
 I expressed them as "big" than importing wide-dhcp, which is no
 longer maintained by the original authors.

 Yes, FreeBSD can have a DHCPv6-only version of dhcpcd even at the
 source code level, which will be much smaller.  But if doing so and
 applying FreeBSD-specific changes which cannot be upstreamed to it,
 we need additional steps to adjust a partial set of the dhcpcd source
 code and the contents will be diverged from the origial distribution.
 Although it is still possible, I think it is not good for both
 FreeBSD and dhcpcd.  That is because if one uses dhcpcd, rtsold in
 the base system should not be used and relying solely on dhcpcd for
 handling incoming RAs would be much better.  And probably IPv4 DHCP
 should also be handled by dhcpcd for consistency on the system.
 Thus, the question is: which is worth doing, maintaining a stripped
 version of dhcpcd or a client part of wide-dhcp, both with
 FreeBSD-specific changes applied?  Adding IPC between rtsold,
 ifconfig, and DHCPv6 client is planned for better control and user
 experience, for example.  I simply thought a
 no-longer-actively-maintained one with smaller code base is easier
 for that purpose, assuming there is no big difference in the core
 protocol coverage.  I do not insist that this is based on inferiority
 of dhcpcd in terms of quality or absolute size.  My apologies if my
 previous (and/or this) email sounds offending.  How easier we can
 chop and cook it matters.

 I emphasize again here that people who want to use dhcpcd are still
 able to install net/dhcpcd and override a combination of utilities
 such as rtsold.  Ditto for ISC's IPv6-capable dhclient.  My opinion
 about the import is that if we adopt dhcpcd in the base system, we
 should replace all of the current dhclient for IPv4 and rtsold
 together.  Of course we should consider it will need Capsicum or
 privsep for sandboxing and involve a bigger impact for IPv4 users at
 least.

 If there is no option except for dhcpcd I will go ahead with it
 regarless of my ealier mentioned concerns.  So that is why I would
 like to know if wide-dhcp has a critical issue which cannot be fixed
 easily or missing feature at this moment.

ro> This isn't a question about wide-dhcp specifically, but I feel it's a
ro> good question.
ro>
ro> Do you plan on supporting a multihomed system with hotpluggable
ro> interfaces all auto configured?
ro> I'm looking at the BUGS section for rtsold and these bugs
ro> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=138547

 For multiple sources of RDNSS information, FreeBSD currently handles
 them by resolvconf(8) (yes, one of your works has been already
 imported) in the base system.  The default configuration does not
 behave very well, so for a good user experience, one needs to
 configure resolvconf.conf to control ordering and overrides.  The
 dhclient processes do not work collaboratively across multiple
 interfaces because they are just invoked independently, on a
 per-interface basis.  rtsold does not, either.  That is one of the
 reasons why I would like to add IPC between rtsold and DHCPv6 client.
 If they work, it can be implemented in dhclient in a similar way.

ro> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218191

 I could not understand what prevented dhclient from working at the
 first glance of this PR, but the cause may also be the fact that
 multiple dhcients work independently and override the default router,
 RDNSS, and/or etc.

 These scenarios are in my goals because IPv6 multihoming is more
 likey to happen than IPv4 while I am still not sure it will be a
 complete solution.  If IPC between the per-interface daemons is not
 sufficient, we should have another "parent" daemon which monitors the
 per-IF worker processes or