From Fedora Project Wiki

Line 86: Line 86:
== About me ==
== About me ==


From my Linux beginnings, I was attracted by the networking world. I kept experimenting, then started freelancing for companies and ISPs providing consultancy, training, network configuration, programming and other services. I started writing articles and talking at conferences about network-related topics. I was keeping more and more bug reports in various projects including Fedora. After a recent conference talk I was hired by Red Hat and finally started fixing those bugs and working on NetworkManager and other networking-related projects.
After learning a bit of programming, I was attracted by the networking world. I got from petty Pascal/C++ projects through web development using ugly PHP and later Python, to a freelancing work with most of the projects in server administration, network equipment configuration and a bit of programming. Most people in the business know me from my conference talks and articles.


I have been using Fedora for some time. My primary interest is computer networking and I didn't like many things
One of my conference talk brought me an offer from Red Hat, which I joined in May 2012 to work on NetworkManager. I was already a Fedora user and package maintainer at that time. Since August 2012 I'm no longer working as a regular NetworkManager developer (staying an upstream contributor, though). Even before that I tried to put my hands on a number of other projects via bug reports, tests and code. I'm also interested in various network-related standards and especially bugs and bad assumptions in IETF documents.
in linux networking and particularly in NetworkManager. I've been talking about it and watching and filing bug reports
for too long. When I recieved an offer to work regularly on NetworkManager, it was natural to accept.
 
At the time I joined NetworkManager development, I already had a history of articles, talks and trainings on IPv6
so I started fixing IPv6 automatic configuration. In NetworkManager 0.9.6 it connects to any standard IPv6 networks.
 
I didn't particularly like how NetworkManager works so after learning a bit about it, I started working on some
larger-scale changes in a separate branch called 'pavlix/next' that is described below. All of the modifications
are made with the goal of making NetworkManager more robust, testable, debuggable and useful for all sorts of use
cases including server, virtualization and desktop.
 
During my work on NetworkManager, I see more and more problems with other network-related tools including kernel,
glibc, avahi, nss-mdns but also with the IETF standards. We have many more things to be fixed (or replaced, if
anyone likes that better) than just NetworkManager.


== Linux networking ==
== Linux networking ==

Revision as of 10:23, 27 August 2013

Mail: psimerda AT redhat DOT com, pavlix AT pavlix DOT net

Jabber: pavlix AT pavlix DOT net

IRC Freenode: pavlix (#nm and a couple of other channels)

Phone: +420 775 996 256

Timezone: Europe/Prague (CET), sometimes available through later hours

Wiki resources

Contributions are welcome.

Packages

Maintainer

  • aiccu (IPv6 tunneling client)
  • connman
  • racoon2
  • radvd (taken over from Petr Písař)
  • strongswan

Co-maintainer

  • bind
  • bind10
  • NetworkManager-ssh
  • rsync
  • squid

Upstream contributions

  • NetworkManager
    • Building on any distribution
    • Valgrind and code coverage support for tests
    • Separate platform interaction module (nm-platform, with Dan Winship)
      • Refactored NetworkManager's bridging/bonding/vlan configuration
      • Refactored NetworkManager's IPv4/IPv6 configuration
    • Userspace IPv6 autoconfiguration (nm-rdisc/libndp, with Jiří Pírko)
      • Getting IPv6 autoconf features on par with IPv4
      • Avoiding loads of kernel IPv6 bugs and design flaws
    • Runtime (non-persistent) configuration support (with Dan Winship and Dan Williams)

Bug tracking/reporting

  • avahi
  • glibc
  • kernel
  • libnl

Daily usage

Distributions

  • Gentoo
  • Fedora/CentOS
  • Debian
  • OpenWRT

Desktop

  • Gnome 3 – Seeking something more mature and stable
  • Gnome Terminal
  • Evolution (for IMAP/SMTP mail) – Seeking something more mature and stable
  • Empathy/Telepathy (for jabber and IRC) – Seeking something more mature and stable
  • Evince
  • Firefox

Development

  • vim
  • gcc
  • make, autotools
  • gdb
  • valgrind

Presentation

  • LaTeX/Beamer

About me

After learning a bit of programming, I was attracted by the networking world. I got from petty Pascal/C++ projects through web development using ugly PHP and later Python, to a freelancing work with most of the projects in server administration, network equipment configuration and a bit of programming. Most people in the business know me from my conference talks and articles.

One of my conference talk brought me an offer from Red Hat, which I joined in May 2012 to work on NetworkManager. I was already a Fedora user and package maintainer at that time. Since August 2012 I'm no longer working as a regular NetworkManager developer (staying an upstream contributor, though). Even before that I tried to put my hands on a number of other projects via bug reports, tests and code. I'm also interested in various network-related standards and especially bugs and bad assumptions in IETF documents.

Linux networking

I'm currently working on the following (may be outdated):

When working with linux networking, the following projects cause me headache:

  • NetworkManager itself: I need to test NM in a virtual environment with bridges. These are not supported in the current release. I hope to make the next release mature enough to support its own development.
  • Kernel: The kernel IPv6 networking layer is somewhat unmanagable. The rtnetlink interface doesn't provide enough funcionality to support IPv6 networking.
  • GLIBC: The getaddrinfo() function doesn't work properly and is not supported in nsswitch.conf. It breaks whenever my development machine happens to be on an IPv4-only network.
  • nss-mdns (Avahi nsswitch plugin): Can't implement link-local name resolution because of the above problem in GLIBC.
  • IETF networking standards: For some reasons many IPv6-related standards have serious design flaws that prevent them from working properly.