This file contains a list of maintainers for the meta-networking layer.

Please submit any patches against meta-networking to the OpenEmbedded
development mailing list (openembedded-devel@lists.openembedded.org) with
'[meta-networking]' in the subject.

When sending single patches, please use something like:

   git send-email -1 -M \
        --to openembedded-devel@lists.openembedded.org \
        --subject-prefix='meta-networking][PATCH'

You may also contact the maintainers directly.

Descriptions of section entries:

        M: Mail patches to: FullName <address@domain>
        F: Files and directories with wildcard patterns.
           A trailing slash includes all files and subdirectory files.
           F: recipes-devtools/    all files in and below recipes-devtools
           F: recipes-selinux/*    all files in recipes-selinux, but not below
           One pattern per line.  Multiple F: lines acceptable.

Please keep this list in alphabetical order.

Maintainers List (try to look for most precise areas first)

COMMON
M:      Khem Raj <raj.khem@gmail.com>
M:      "Joe MacDonald (backup)" <joe@deserted.net>
L:      openembedded-devel@lists.openembedded.org
Q:      https://patchwork.openembedded.org/project/oe/
S:      Maintained
F:      conf
F:      recipes-*

OPENTHREAD
M:      Stefan Schmidt <stefan@datenfreihafen.org>
F:      recipes-connectivity/openthread/
