= Features/MQ virtio net =
https://fedoraproject.org/wiki/Features/MQ_virtio_net
Feature owner(s): Jason Wang <jasowang(a)redhat.com>
Multiqueue virtio-net provides an approach that scales the network performance
as the increasing of the number of vcpus by allowing them to transfer packets
through more than one virtqueue pairs.
== Detailed description ==
Today's high-end server have more processors, guests running on them tend have
an increasing number of vcpus. The scale of the protocol stack in guest in
restricted because of the single queue virtio-net:
* The network performance does not scale as the number of vcpus increasing:
Guest can not transmit or retrieve packets in parallel as virtio-net have only
one TX and RX, virtio-net drivers must be synchronized before sending and
receiving packets. Even through there's software technology to spread the
loads into different processor such as RFS, such kind of method is only for
transmission and is really expensive in guest as they depends on IPI which may
brings extra overhead in virtualized environment.
* Multiqueue nic were more common used and is well supported by linux kernel,
but current virtual nic can not utilize the multi queue support: the tap and
virtio-net backend must serialize the co-current transmission/receiving
request comes from different cpus.
In order the remove those bottlenecks, we must allow the paralleled packet
processing by introducing multi queue support for both back-end and guest
drivers. Ideally, we may let the packet handing be done by processors in
parallel without interleaving and scale the network performance as the number
of vcpus increasing.
The following parts were changed to parallize the packet processing:
* tuntap: convert the driver to multiqueue by allowing multiple socket/fd to
be attached to the device, each socket/fd exposed by the device could be
treated as a queue.
* qemu:
* net: Add multiple queue infrastructure to qemu
* let qemu can create multiple vhost threads for a virtio-net device
* userspace multiple queue virtio-net
* guest driver: let the driver can use multiple virtqueues to do packet
sending/receiving.
= Features/MoreMobileBroadband =
https://fedoraproject.org/wiki/Features/MoreMobileBroadband
Feature owner(s): Dan Williams <dcbw at redhat dot com>
New mobile broadband devices supporting multiple technologies (eg,
CDMA/EVDO/LTE and/or GSM/UMTS/LTE) and using new proprietary protocols are
becoming common in the marketplace, and are not well supported by ModemManager
0.6 and earlier. We developed ModemManager 0.7/0.8 with a new API specifically
to address this issue and to be more compatible with future mobile broadband
devices.
== Detailed description ==
Multi-mode Qualcomm-based devices have on the market since 2009 and support
multiple WWAN technologies, often at the same time or with a runtime firmware
change. CDMA-based carriers migrating to LTE (like Verizon, Sprint, China
Telecom, KDDI, etc) require these multi-mode devices to ensure that coverage
is not interrupted when handoff between CDMA/EVDO and LTE occurs.
ModemManager 0.6's D-Bus API simply could not be extended to handle these
cases, and due to this, the opportunity was taken to rewrite the API to ensure
future functionality could be more easily supported in the D-Bus API.
Additionally, most newer Qualcomm chipsets (which the majority of phones and
data cards contain) use the proprietary QMI protocol for most operations
instead of their limited AT command port. We have developed the libqmi library
to support these devices, and ModemManager 0.7 and later use libqmi to provide
fully-featured support for these Qualcomm devices.
= Features/EnterpriseTwoFactorAuthentication =
https://fedoraproject.org/wiki/Features/EnterpriseTwoFactorAuthentication
Feature owner(s): Daniel Pocock <daniel(a)pocock.com.au>
Provide a flexible solution for two-factor authentication on a distributed
basis, suitable for enterprise and SSO.
== Detailed description ==
Most OTP solutions for two-factor authentication require some kind of storage
backend for counters or other volatile data. Early implementations work with
flat files on a single host. dynalogin was created to bring stability and
flexibility, storing counters in just about any type of database. Other
solutions such as totp-cgi have similar goals (although it only mentions
Postgres support, whereas dynalogin can use MySQL thanks to UNIXODBC).
dynalogin has been successfully integrated with the SimpleID provider for
OpenID authentication.
= Features/DracutHostOnly =
https://fedoraproject.org/wiki/Features/DracutHostOnly
Feature owner(s): Harald Hoyer <harald(a)redhat.com>
Only create "host-only" initramfs images. A generic fallback image should be
installed by anaconda on installation/update and never ever be removed.
== Detailed description ==
Current initramfs images contain most of the kernel drivers to boot from any
hardware. This results in a very big initramfs, which takes a long time to
load on system start and a long time to create on kernel updates. Switching to
host-only will improve the situation. To cope with hardware change, a boot
entry "Rescue System" should be installed with a full fledged initramfs also
containing debug tools. This boot entry can then be used to recover from
hardware changes and also from unforseen software failure after updates.
= Features/CUPS1.6 =
https://fedoraproject.org/wiki/Features/CUPS1.6
Feature owner(s): Tim Waugh <twaugh(a)redhat.com>, Jiri Popelka
<jpopelka(a)redhat.com>
Update CUPS to the latest upstream release and use PDF rather than PostScript
as baseline document format.
== Detailed description ==
CUPS 1.6 was released in July 2012 and has brought several important changes
* Merged Fedora's patch for color management using colord
* Merged Fedora's patch for mDNS/DNS-SD support using Avahi
* Removed support for CUPS Browsing and Polling
* The CUPS Browsing protocol is currently the primary mechanism for CUPS-
to-CUPS printer queue discovery on Linux. It works by having each CUPS server
periodically broadcast UDP packets on port 631 announcing its available
queues, and listening for broadcasts from other CUPS servers. CUPS Browsing
protocol has no longer been meeting the requirements of current networking
technologies, and in fact has had some bad effects on wireless networks due to
the use of UDP broadcasts. Rather than trying to address these issues by
introducing a new and incompatible update to the protocol, the existing
mDNS/DNS-SD standards can serve as a ready replacement and actually has been
used in CUPS for many years now.
* All filters and backends not used by Mac OS X have been dropped
* These filters and backends, together with the filters for the PDF printing
workflow are now hosted as the cups-filters project at linuxfoundation.org.
PDF printing workflow
* Currently CUPS uses PostScript as the common format for manipulating print
jobs. We want to switch the standard print job transfer format from PostScript
to PDF, which has many important advantages.
* Additional filters for the PDF printing workflow have been added to the cups-
filters project.
= Features/BetterNetworkManagerIPSecIntegration =
https://fedoraproject.org/wiki/Features/BetterNetworkManagerIPSecIntegration
Feature owner(s): Dan Williams <dcbw at redhat dot com>
IPSec usage is becoming more popular and the existing NetworkManager IPSec VPN
plugin will be enhanced to better support these use-cases and fix known bugs.
== Detailed description ==
The existing VPN plugin uses the openswan IPSec package to provide IPSec
functionality for NetworkManager users. Communication with openswan could be
much more robust and secure by communicating directly with openswan's tools
rather than writing secrets and other configuration out to temporary files like
openswan current requires. Furthermore, NetworkManager should be enhanced to
allow for route-based tunnel connections instead of requiring a TUN/TAP
interface for each VPN connection.
= Features/AnacondaRealmIntegration =
https://fedoraproject.org/wiki/Features/AnacondaRealmIntegration
Feature owner(s): Vratislav Podzimek <vpodzime(a)redhat.com>, Stef Walter
<stefw(a)redhat.com>
Kickstart will have a 'realm join example.com' command, to join the machine
during install to an AD or FreeIPA domain. This will take place using one time
passwords or password-less joins to an AD or FreeIPA domain.
== Detailed description ==
realmd is an on demand system DBus service, which allows callers to configure
network authentication and domain membership in a standard way. realmd
discovers information about the domain or realm automatically and does not
require complicated configuration in order to join a domain or realm.
By integrating realmd with Kickstart and Anaconda, administrators will be able
to add machines to a domain en-masse. This can be done without leaking
administrative domain credentials into the kickstart fail.
In addition there will be a GUI for joining a domain during the anaconda
install process.
This will be implemented as an Anaconda addon, to help keep the scope and base
feature set of Anaconda in check.
= Features/AnacondaNewUI Followup =
https://fedoraproject.org/wiki/Features/AnacondaNewUI_Followup
Feature owner(s): Chris Lumens <clumens(a)redhat.com>
The purpose of this feature is to describe the high level work items we have
for anaconda related to newui in F-19.
== Detailed description ==
* Add in advanced storage capabilities in to the UI (device filtering,
multipath/iscsi/zfcp/fcoe configuration, etc).
* Make system-config-kickstart work again. The removal of
iw/GroupSelector.py from anaconda caused it to break. (#859928)
* Move to a some tool that prevents or avoids the GTK+ redraw ugliness
(e.g., mutter). (#858684)
* Review UX design suggestions from different users and groups and
incorporate adjustments that make sense and work well with the overall design.
* Improve anaconda's threading. Right now it is difficult to tell what
thread a method is executing in and whether or not you can do GTK calls
directly. We need either a policy or a technical solution to this.
* Allow selecting multiple disks. (#864707)
* Allow a faster way of deleting everything on a disk. (#880686)
* Add repo needs to work.
* Updates checkbox needs to work. Needs backend code and then made visible
in the UI.
* Add new firstboot-type questions to the second hub (dependent on the
firstboot work, which is another feature).
* Expand text mode to offer more or the same installation options as the
graphical mode. We don't anticipate the text mode being capable of 100%
similarity to the graphical mode, but we want it to be closer than where it is
now. As it stands, it is comparable to the former reduced text mode in F-17
and earlier.
* Use the blivet storage module in anaconda once that code is broken out
in to a separate project (blivet is the name of the anaconda storage library
becoming a standalone Python module).
= Features/YumGroupsAsObjects =
https://fedoraproject.org/wiki/Features/YumGroupsAsObjects
Feature owner(s): James Antill <james(a)fedoraproject.org>
Change the default yum configuration from group_command=compat to
group_command=objects.
== Detailed description ==
Currently yum groups work as a simple substitution, so "yum group remove foo"
works as though you took every package from foo and passed it to "yum remove".
This tends to not be what users expect, for example "yum group install kde-
desktop" and then "yum group remove kde-desktop" will end up removing packages
(like abrt-desktop). This feature changes that so that groups are installed as
real objects, meaning that when a user does "yum group install foo" yum will
mark that the packages from foo are being installed (as before) but also that
a group called foo is being installed and that those packages are installed
because of it. Later if the group is removed, yum will remove the group and
only those packages that were installed because of the group install/upgrade
commands.
= Features/OpenAttestation =
https://fedoraproject.org/wiki/Features/OpenAttestation
Feature owner(s): Gang Wei <gang.wei(a)intel.com>
Provide fedora packages for OpenAttestation to support Trusted Compute
Pools(TCP) feature in OpenStack since Folsom release & in future oVirt
releases.
== Detailed description ==
This feature would include mostly packaging OpenAttestation project for
fedora.
* the source package will be named oat
* the binary packages will include oat-appraiser & oat-client