summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tc35815: Use print_mac() helperAtsushi Nemoto2008-04-171-22/+14
| | | | | | | Use print_mac() and DECLARE_MAC_BUF(). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* tc35815: Statistics cleanupAtsushi Nemoto2008-04-171-30/+31
| | | | | | | Use struct net_device_stats embedded in struct net_device. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* mv643xx_eth: update copyrightLennert Buytenhek2008-04-171-1/+5
| | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: only print banner onceLennert Buytenhek2008-04-171-1/+3
| | | | | | | | | | When there are multiple mv643xx_eth silicon blocks in the system, don't print an initialisation message for each and every one of them. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: pass port identifier to register accessorsLennert Buytenhek2008-04-171-78/+78
| | | | | | | | | | | | | Pass a struct mv643xx_private * to the register accessor functions, as a preparation for having multiple mv643xx_eth silicon blocks. (Since this causes some 80 column straddling, and the mv_ prefix is useless anyway, rename mv_read to rdl and mv_write to wrl to compensate.) Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: report netdev name in all printksLennert Buytenhek2008-04-171-11/+6
| | | | | | | | | | In error and warning printks, always report the netdevice name instead of the port index (the latter has no meaning when there are multiple mv643xx_eth silicon blocks in the system.) Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: identify ports by struct mv643xx_private *Lennert Buytenhek2008-04-171-118/+128
| | | | | | | | | | | Instead of identifying individual mv643xx ethernet ports by only their port number, identify them by their struct mv643xx_private *, as just a port number has no meaning when there are multiple mv643xx_eth silicon blocks in the system. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: various cleanupsLennert Buytenhek2008-04-171-39/+16
| | | | | | | | | | | | | | | | - Remove unused MV643XX_DEFAULT_[RT]X_QUEUE_SIZE definitions. - Remove ETH_TARGET enum -- it isn't used anywhere in the driver, and isn't even valid for non-mv643xx chip models, as those use different MBUS target IDs. - Clean up comment and control flow in mv643xx_eth_change_mtu(). - Use mp->dev instead of mp->mii.dev in mv643xx_eth_tx_timeout_task(). - Make mv643xx_eth_free_tx_descs() static. - Remove overzealous NULL check in mv643xx_eth_start_xmit(). - Use symbolic NETDEV_TX_* constants in mv643xx_eth_start_xmit(). Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* mv643xx_eth: mp->tx_desc_count needs spinlock protectionLennert Buytenhek2008-04-171-11/+10
| | | | | | | | | mv643xx_eth_start_xmit() should check mp->tx_desc_count only inside the mp->lock spinlock. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Reviewed-by: Tzachi Perelstein <tzachi@marvell.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
* [TCP]: Increase the max_burst threshold from 3 to tp->reordering.John Heffner2008-04-161-2/+5
| | | | | | | | | | | This change is necessary to allow cwnd to grow during persistent reordering. Cwnd moderation is applied when in the disorder state and an ack that fills the hole comes in. If the hole was greater than 3 packets, but less than tp->reordering, cwnd will shrink when it should not have. Signed-off-by: John Heffner <jheffner@napa.(none)> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Do not allocate unneeded memory for dev->priv alignment.Pavel Emelyanov2008-04-161-1/+2
| | | | | | | | | | | | | | | | | | | | | The alloc_netdev_mq() tries to produce 32-bytes alignment for both the net_device itself and its private data. The second alignment is achieved by adding the NETDEV_ALIGN_CONST to the whole size of the memory to be allocated. However, for those devices that do not need the private area, this addition just makes the net_device weight 1024 + 32 = 1068 bytes, i.e. consume twice as much memory. Since loopback device is such (sizeof_priv == 0 for it), and each net namespace creates one, this can save a noticeable amount of memory for kernel with net namespaces turned on. After this set the lo device is actually allocated from a size-1024 kmem cache on i386 box even with NETPOLL and WIRELESS_EXT turned on. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug for network devices.Denis V. Lunev2008-04-162-1/+4
| | | | | | | | | | dev_set_net is called for - just allocated devices - devices moving from one namespace to another release_net has proper check inside to distinguish these cases. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug to fib rules.Denis V. Lunev2008-04-162-2/+4
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug for dst ops.Denis V. Lunev2008-04-161-1/+3
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug for inet bind buckets.Denis V. Lunev2008-04-161-1/+2
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug into fib_info.Denis V. Lunev2008-04-161-1/+2
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug for timewait buckets.Denis V. Lunev2008-04-161-1/+2
| | | | | Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Add netns refcnt debug for kernel sockets.Denis V. Lunev2008-04-162-1/+2
| | | | | | | | | Protocol control sockets and netlink kernel sockets should not prevent the namespace stop request. They are initialized and disposed in a special way by sk_change_net/sk_release_kernel. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETNS]: Make netns refconting debug like a socket one.Denis V. Lunev2008-04-162-16/+28
| | | | | | | | | | | | | Make release_net/hold_net noop for performance-hungry people. This is a debug staff and should be used in the debug mode only. Add check for net != NULL in hold/release calls. This will be required later on. [ Added minor simplifications suggested by Brian Haley. -DaveM ] Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Allow to create IP6 tunnels in net namespaces.Pavel Emelyanov2008-04-161-0/+3
| | | | | | | | | | And no need in some IPPROTO_XXX enabling, since ipv6 code doesn't have any filtering. So, just set proper net and mark device with NETNS_LOCAL. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Use proper net instead of init_net stubs.Pavel Emelyanov2008-04-161-11/+15
| | | | | | | | | | | All the ip_route_output_key(), dev_get_by_...() and ipv6_chk_addr() calls are now stubbed with init_net. Fortunately, all the places already have where to get the proper net from. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Make tunnels hashes per-net.Pavel Emelyanov2008-04-161-29/+34
| | | | | | | | Move hashes in the struct ip6_tnl_net, replace tnls_xxx[] with ip6n->tnlx_xxx[] and handle init and exit appropriately. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Make the fallback tunnel device per-net.Pavel Emelyanov2008-04-161-24/+24
| | | | | | | | | All the code, that reference it already has the ip6_tnl_net pointer, so s/ip6_fb_tnl_dev/ip6n->fb_tnl_dev/ and move creation/releasing code into net init/exit ops. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Use proper net in hash-lookup functions.Pavel Emelyanov2008-04-161-2/+2
| | | | | | | | Calls to ip6_tnl_lookup were stubbed with init_net - give them a proper one. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Add (ip6_tnl_)net argument to some calls.Pavel Emelyanov2008-04-161-19/+28
| | | | | | | Hashes and fallback device used in them will be per-net. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IP6TUNNEL]: Introduce empty ip6_tnl_net structure and net ops.Pavel Emelyanov2008-04-161-0/+49
| | | | | Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Allow for IPPROTO_IPV6 protocol in namespaces.Pavel Emelyanov2008-04-161-0/+1
| | | | | | | This makes sit-generated traffic enter the namespace. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Allow to create SIT tunnels in net namespaces.Pavel Emelyanov2008-04-161-0/+3
| | | | | | | Set proper net and mark a new device as NETNS_LOCAL before registering. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Use proper net in routing calls.Pavel Emelyanov2008-04-161-5/+6
| | | | | | | I.e. replace init_net stubs in ip_route_output_key() calls. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Make tunnels hashes per-net.Pavel Emelyanov2008-04-161-20/+25
| | | | | | | | Just move all the hashes on the sit_net structure and patch the rest of the code appropriately. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Make the fallback tunnel device per-netPavel Emelyanov2008-04-161-32/+29
| | | | | | | | Allocate and register one in sit_init_net, use sitn->fb_tunnel_dev over the code and unregister one in sit_exit_net. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Use proper net in hash-lookup functions.Pavel Emelyanov2008-04-161-2/+2
| | | | | | | | Replace introduced in the previous patch init_net stubs with the proper net pointer. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Add net/sit_net argument to some functions.Pavel Emelyanov2008-04-161-19/+30
| | | | | | | | ... to make them prepared for future hashes and fallback device move on the struct sit_net. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SIT]: Introduce empty struct sit_net and init/exit net ops.Pavel Emelyanov2008-04-161-0/+50
| | | | | Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Allow for IPPROTO_GRE protocol in namespaces.Pavel Emelyanov2008-04-161-0/+1
| | | | | | | This one was also disabled by default for sanity. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Allow to create IPGRE tunnels in net namespaces.Pavel Emelyanov2008-04-161-0/+3
| | | | | | | I.e. set the proper net and mark as NETNS_LOCAL. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Use proper net in routing calls.Pavel Emelyanov2008-04-161-6/+6
| | | | | | | | | | As for the IPIP tunnel, there are some ip_route_output_key() calls in there that require a proper net so give one to them. And a proper net for the __get_dev_by_index hanging around. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Make tunnels hashes per-net.Pavel Emelyanov2008-04-161-34/+31
| | | | | | | Very similar to what was done for the IPIP code. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Make the fallback tunnel device per-net.Pavel Emelyanov2008-04-161-31/+32
| | | | | | | | Everything is prepared for this change now. Create on in init callback, use it over the code and destroy on net exit. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Use proper net in hash-lookup functions.Pavel Emelyanov2008-04-161-2/+2
| | | | | | | | | This is the part#2 of the patch #2 - get the proper net for these functions. This change in a separate patch in order not to get lost in a large previous patch. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Add net/gre_net argument to some functions.Pavel Emelyanov2008-04-161-19/+32
| | | | | | | | | | The fallback device and hashes are to become per-net, but many code doesn't have anything to get the struct net pointer from. So pass the proper net there with an extra argument. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [GRE]: Introduce empty ipgre_net structure and net init/exit ops.Pavel Emelyanov2008-04-161-0/+49
| | | | | Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Allow for IPPROTO_IPIP protocol in namespaces.Pavel Emelyanov2008-04-161-0/+1
| | | | | | | This one was disabled by default for sanity. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Allow to create IPIP tunnels in net namespaces.Pavel Emelyanov2008-04-161-0/+3
| | | | | | | | Set the proper net before calling register_netdev and disable the tunnel device netns changing. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Use proper net in (mostly) routing calls.Pavel Emelyanov2008-04-161-5/+5
| | | | | | | | | | | There are some ip_route_output_key() calls in there that require a proper net so give one to them. Besides - give a proper net to a single __get_dev_by_index call in ipip_tunnel_bind_dev(). Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Make tunnels hashes per net.Pavel Emelyanov2008-04-161-32/+36
| | | | | | | | | | | Either net or ipip_net already exists in all the required places, so just use one. Besides, tune net_init and net_exit calls to respectively initialize the hashes and destroy devices. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Use proper net in hash-lookup functions.Pavel Emelyanov2008-04-161-2/+2
| | | | | | | | | | | This is the part#2 of the previous patch - get the proper net for these functions. I make it in a separate patch, so that this change does not get lost in a large previous patch. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Add net/ipip_net argument to some functions.Pavel Emelyanov2008-04-161-19/+25
| | | | | | | | | | | The hashes of tunnels will be per-net too, so prepare all the functions that uses them for this change by adding an argument. Use init_net temporarily in places, where the net does not exist explicitly yet. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Make the fallback tunnel device per-net.Pavel Emelyanov2008-04-161-32/+35
| | | | | | | | | Create on in ipip_init_net(), use it all over the code (the proper place to get the net from already exists) and destroy in ipip_net_exit(). Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPIP]: Introduce empty ipip_net structure and net init/exit ops.Pavel Emelyanov2008-04-161-0/+50
| | | | | Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>