aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ipvs: load balance IPv4 connections from a local processMalcolm Turnbull2008-09-04
| | | | | | | | | | | This allows IPVS to load balance connections made by a local process. For example a proxy server running locally. External client --> pound:443 -> Local:443 --> IPVS:80 --> RealServer Signed-off-by: Siim Põder <siim@p6drad-teel.net> Signed-off-by: Malcolm Turnbull <malcolm@loadbalancer.org> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Allow adding IPv6 services from userspaceJulius Volz2008-09-04
| | | | | | | | | | Allow adding IPv6 services through the genetlink interface and add checks to see if the chosen scheduler is supported with IPv6 and whether the supplied prefix length is sane. Make sure the service count exported via the sockopt interface only counts IPv4 services. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Activate IPv6 Netfilter hooksJulius Volz2008-09-04
| | | | | | | | Register the previously defined or adapted netfilter hook functions for IPv6 as PF_INET6 hooks. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Adjust various debug outputs to use new macrosJulius Volz2008-09-04
| | | | | | | | Adjust various debug outputs to use the new *_BUF macro variants for correct output of v4/v6 addresses. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add function to determine if IPv6 address is localVince Busam2008-09-04
| | | | | | | | | Add __ip_vs_addr_is_local_v6() to find out if an IPv6 address belongs to a local interface. Use this function to decide whether to set the IP_VS_CONN_F_LOCALNODE flag for IPv6 destinations. Signed-off-by: Vince Busam <vbusam@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Turn off FTP application helper for IPv6Julius Volz2008-09-04
| | | | | | | | Immediately return from FTP application helper and do nothing when dealing with IPv6 packets. IPv6 is not supported by this helper yet. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IVPS: Disable sync daemon for IPv6 connectionsJulius Volz2008-09-04
| | | | | | | Disable the sync daemon for IPv6 connections, works only with IPv4 for now. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Convert procfs files for IPv6 entry outputVince Busam2008-09-04
| | | | | | | Correctly output IPv6 connection/service/dest entries in procfs files. Signed-off-by: Vince Busam <vbusam@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Convert real server lookup functionsJulius Volz2008-09-04
| | | | | | | | Convert functions for looking up destinations (real servers) to support IPv6 services/dests. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add/adjust Netfilter hook functions and helpers for v6Julius Volz2008-09-04
| | | | | | | | | | Add Netfilter hook functions or modify existing ones, if possible, to process IPv6 packets. Some support functions are also added/modified for this. ip_vs_nat_icmp_v6() was already added in the patch that added the v6 xmit functions, as it is called from one of them. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Extend scheduling functions for IPv6 supportJulius Volz2008-09-04
| | | | | | | | Convert ip_vs_schedule() and ip_vs_sched_persist() to support scheduling of IPv6 connections. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add and bind IPv6 xmit functionsJulius Volz2008-09-04
| | | | | | | | Add xmit functions for IPv6. Also add the already needed __ip_vs_get_out_rt_v6() to ip_vs_core.c. Bind the new xmit functions to v6 connections. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add IPv6 support to xmit() support functionsJulius Volz2008-09-04
| | | | | | | | Add IPv6 support to IP_VS_XMIT() and to the xmit routing cache, introducing a new function __ip_vs_get_out_rt_v6(). Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Extend functions for getting/creating connectionsJulius Volz2008-09-04
| | | | | | | | Extend functions for getting/creating connections and connection templates for IPv6 support and fix the callers. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Extend protocol DNAT/SNAT and state handlersJulius Volz2008-09-04
| | | | | | | | Extend protocol DNAT/SNAT and state handlers to work with IPv6. Also change/introduce new checksumming helper functions for this. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add protocol debug functions for IPv6Julius Volz2008-09-04
| | | | | | | | Add protocol (TCP, UDP, AH, ESP) debug functions for IPv6 packet debug output. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add 'af' args to protocol handler functionsJulius Volz2008-09-04
| | | | | | | | | | | | | Add 'af' arguments to conn_schedule(), conn_in_get(), conn_out_get() and csum_check() function pointers in struct ip_vs_protocol. Extend the respective functions for TCP, UDP, AH and ESP and adjust the callers. The changes in the callers need to be somewhat extensive, since they now need to pass a filled out struct ip_vs_iphdr * to the modified functions instead of a struct iphdr *. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add IPv6 support flag to schedulersJulius Volz2008-09-04
| | | | | | | | | | | Add 'supports_ipv6' flag to struct ip_vs_scheduler to indicate whether a scheduler supports IPv6. Set the flag to 1 in schedulers that work with IPv6, 0 otherwise. This flag is checked in a later patch while trying to add a service with a specific scheduler. Adjust debug in v6-supporting schedulers to work with both address families. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add v6 support to ip_vs_service_get()Julius Volz2008-09-04
| | | | | | | | Add support for selecting services based on their address family to ip_vs_service_get() and adjust the callers. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Convert __ip_vs_svc_get() and __ip_vs_fwm_get()Julius Volz2008-09-04
| | | | | | | | | Add support for getting services based on their address family to __ip_vs_service_get(), __ip_vs_fwm_get() and the helper hash function ip_vs_svc_hashkey(). Adjust the callers. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add internal versions of sockopt interface structsJulius Volz2008-09-04
| | | | | | | | | | Add extended internal versions of struct ip_vs_service_user and struct ip_vs_dest_user (the originals can't be modified as they are part of the old sockopt interface). Adjust ip_vs_ctl.c to work with the new data structures and add some minor AF-awareness. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add debug macros for v4 and v6 address outputJulius Volz2008-09-04
| | | | | | | | | | | Add some debugging macros that allow conditional output of either v4 or v6 addresses, depending on an 'af' parameter. This is done by creating a temporary string buffer in an outer debug macro and writing addresses' string representations into it from another macro which can only be used when inside the outer one. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add general v4/v6 helper functions / data structuresJulius Volz2008-09-04
| | | | | | | | | | Add a struct ip_vs_iphdr for easier handling of common v4 and v6 header fields in the same code path. ip_vs_fill_iphdr() helps to fill this struct from an IPv4 or IPv6 header. Add further helper functions for copying and comparing addresses. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Change IPVS data structures to support IPv6 addressesJulius Volz2008-09-04
| | | | | | | | | Introduce new 'af' fields into IPVS data structures for specifying an entry's address family. Convert IP addresses to be of type union nf_inet_addr. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* IPVS: Add CONFIG_IP_VS_IPV6 option for IPv6 supportJulius Volz2008-09-04
| | | | | | | | | Add boolean config option CONFIG_IP_VS_IPV6 for enabling experimental IPv6 support in IPVS. Only visible if IPv6 support is set to 'y' or both IPv6 and IPVS are modules. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
* s2io: reindented misleading for loopIlpo Järvinen2008-09-03
| | | | | Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] removed unused #include <version.h>Huang Weiyi2008-09-03
| | | | | | | | | | | | The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/myri10ge/myri10ge.c drivers/net/netxen/netxen_nic_ethtool.c drivers/net/tokenring/lanstreamer.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* 8139too: use netdev_alloc_skbKevin Lo2008-09-03
| | | | | | | | This patch uses netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* 8139cp: use netdev_alloc_skbKevin Lo2008-09-03
| | | | | | | | This patch uses netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skbKevin Lo2008-09-03
| | | | | | | | Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sky2: display product info on boot.Stephen Hemminger2008-09-03
| | | | | | | | Change bootup messages to print more information. This is to help users who may have old buggy EEPROM image. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sky2: EEPROM read/write bug fixesStephen Hemminger2008-09-03
| | | | | | | | | | | | | | Cleanup and harden the routines accessing the EEPROM. 1. Prevent spin forever waiting for the TWSI bus 2. Fix write eeprom to write full words rather than only 16 bits Luckly the vendor doesn't provide EEPROM in Linux format so it must never have been used. 3. Don't allow partial eeprom writes, not needed, not safe. These are non-urgent bug fixes. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* Merge branch 'r8169-fixes' of ↵Jeff Garzik2008-09-03
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-next
| * r8169: additional 8101 and 8102 supportFrancois Romieu2008-08-17
| | | | | | | | | | | | Signed-off-by: Ivan Vecera <ivecera@redhat.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| * r8169: add hw start helpers for the 8168 and the 8101Francois Romieu2008-08-17
| | | | | | | | | | | | | | | | | | This commit triggers three 'defined but not used' warnings but I prefer avoiding to tie these helpers to a specific change in the hw start sequences of the 8168 or of the 8101. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| * r8169: add 8168/8101 registers descriptionFrancois Romieu2008-08-17
| | | | | | | | | | Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| * r8169: use pci_find_capability for the PCI-E featuresFrancois Romieu2008-08-17
| | | | | | | | | | Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| * r8169: Tx performance tweak helperFrancois Romieu2008-08-17
| | | | | | | | | | Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
| * r8169: get ethtool settings through the generic mii helperFrancois Romieu2008-08-17
| | | | | | | | | | | | | | | | | | | | It avoids to report unsupported link capabilities with the fast-ethernet only 8101/8102. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Tested-by: Martin Capitanio <martin@capitanio.org> Fixed-by: Ivan Vecera <ivecera@redhat.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
* | ixgbe: change config srrctl to only program one register per VMDq/RSS idAlexander Duyck2008-09-03
| | | | | | | | | | | | | | | | This change makes it so only one srrctl register is programmed per VMDq id, and if VMDq is not enabled it is one register per RSS queue. Currently this function is working correctly for the multiqueue RSS and single queue cases, but if any advances features such as VMDq or DCB would have been enabled this function would have caused issues as it was not correct. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | igb: clean up a stray fake netdev code left in rx pathAlexander Duyck2008-09-03
| | | | | | | | | | | | | | | | Remove code that was in place to support fake netdev Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | igb: remove unneeded cleaned variable in clean_tx_irq pathAlexander Duyck2008-09-03
| | | | | | | | | | | | | | | | | | The cleaned variable can be replaced by the count of packets cleaned during the tx interrupt routine so it can be removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | e1000e: add support for new 82574L partBruce Allan2008-09-03
| | | | | | | | | | | | | | | | | | This new part has the same feature set as previous parts with the addition of MSI-X support. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) partsBruce Allan2008-09-03
| | | | | | | | | | | | | | | | Add support for new LOM devices on the latest generation ICHx platforms. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | e1000e: add support for the 82567LM-4 deviceBruce Allan2008-09-03
| | | | | | | | | | | | | | | | | | Enable PCI device ID for a new combination of MAC and PHY already supported in the driver. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | ixgbe: use different context for tso and offloadPJ Waskiewicz2008-09-03
| | | | | | | | | | | | | | | | | | | | | | Change TSO offloads to use a different context than VLAN insertion and Tx checksumming. Hardware has separate registers internally for storing these so use them. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | ixgbe: fix dca hints going to wrong processorJesse Brandeburg2008-09-03
| | | | | | | | | | | | | | | | | | hardware was configured incorrectly which led all hints to be sent to queue[0]'s DCA configuration. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | ixgbe: fix bug where lro settings are per ringJesse Brandeburg2008-09-03
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | ixgbe: update dca to new interface, fix CONFIG_DCA_MODULEJesse Brandeburg2008-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | DCA related fixes ================= - ixgbe was not compiling and using DCA correctly if dca was a module - DCA interface changed with new kernel - ixgbe was not correctly configured to indicate DCA hints to the correct CPU. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | ixgbe: should not use HW_CSUM, should use IP* flagsJesse Brandeburg2008-09-03
| | | | | | | | | | | | | | | | | | | | as mentioned by Herbert, our hardware supports IP offloads, not full checksum offloads for any protocol in existence (even though the hardware just provides generic csum support over any range of bytes) Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>