LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 07-06-2015, 05:54 AM   #1
Danodare
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 54

Rep: Reputation: 16
Extremely slow ethernet speed


I have two slackware machines connected to each other via an ethernet cable. Both machines have two ethernet ports.

ethtool eth1 on the first machine (slackware 13.37) gives me
Code:
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                     100baseT/Half 100baseT/Full 
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
                       drv
Link detected: yes
ethtool eth0 on the second machine (slackware 14.1) gives me
Code:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full                                                                                                     
                      100baseT/Half 100baseT/Full                                                                                                   
                      1000baseT/Half 1000baseT/Full                                                                                                 
Supported pause frame use: No                                                                                                                         
Supports auto-negotiation: Yes                                                                                                                        
Advertised link modes:  10baseT/Half 10baseT/Full                                                                                                     
                        100baseT/Half 100baseT/Full                                                                                                   
                        1000baseT/Half 1000baseT/Full                                                                                                 
Advertised pause frame use: No                                                                                                                        
Advertised auto-negotiation: No                                                                                                                       
Speed: 100Mb/s                                                                                                                                      
Duplex: Full                                                                                                                                         
Port: Twisted Pair                                                                                                                                    
PHYAD: 0                                                                                                                                            
Transceiver: internal                                                                                                                                 
Auto-negotiation: on                                                                                                                                  
MDI-X: Unknown                                                                                                                                        
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000ff (255)
                       drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
In my admittedly ignorant eyes, everything looks fine and the connection is supposed to be able to reach a transfer speed of 100 mb/s (that is 100 megabits per second = 12 megabytes per second).

Yet, the transfer speed between the two computers is *only* 70 kb/s, you read me right, kilobytes per second. I tried direct file transfer over ftp and using the first machine as a gateway to the internet and the results are the same. I also tried to change the ethernet cable and it didn't seem to have any noticeable effect.

I'd be pretty happy with only 1 megabyte/s, so any help is appreciated.

Last edited by Danodare; 07-06-2015 at 05:57 AM.
 
Old 07-06-2015, 07:05 AM   #2
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,889
Blog Entries: 13

Rep: Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933
Try a ping -R (record route) between the two machines and see if there's something in between them. Although it sounds as if you're plugged in with no routing equipment, just a cable back to back. The ping will also give you your round trip time and then you can compute the time for the ping packet size to transfer.
 
Old 07-06-2015, 07:07 AM   #3
Danodare
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 54

Original Poster
Rep: Reputation: 16
Yes I simply have an ethernet cable between the back of the two machines, nothing at all between them.

ping -R 192.168.0.2 on the first machine (address 192.168.0.1) gives me
Code:
PING 192.168.0.2 (192.168.0.2) 56(124) bytes of data.
64 bytes from 192.168.0.2: icmp_req=1 ttl=64 time=161 ms
RR:     192.168.0.1
        192.168.0.2
        192.168.0.2
        192.168.0.1

64 bytes from 192.168.0.2: icmp_req=2 ttl=64 time=60.1 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=3 ttl=64 time=59.1 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=4 ttl=64 time=57.9 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=5 ttl=64 time=55.9 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=6 ttl=64 time=53.6 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=7 ttl=64 time=52.0 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=8 ttl=64 time=51.0 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=9 ttl=64 time=49.5 ms       (same route)
64 bytes from 192.168.0.2: icmp_req=10 ttl=64 time=48.1 ms      (same route)
64 bytes from 192.168.0.2: icmp_req=11 ttl=64 time=46.8 ms      (same route)
64 bytes from 192.168.0.2: icmp_req=12 ttl=64 time=44.9 ms      (same route)
64 bytes from 192.168.0.2: icmp_req=13 ttl=64 time=42.9 ms      (same route)
64 bytes from 192.168.0.2: icmp_req=14 ttl=64 time=40.9 ms      (same route)
It seems to be working ok ?

Last edited by Danodare; 07-06-2015 at 07:30 AM.
 
Old 07-06-2015, 07:31 AM   #4
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,889
Blog Entries: 13

Rep: Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933
Well the machines are back to back as you say.

And it seems to be working as horrifically as you cited in your original post.

My ping just to my network gateway has a round trip time of 0.423 mS for the same 64 byte packet size.

Therefore about 100 times faster than what you have going there.

I'm also at 100M for my Ethernet rate.

I'm assuming that the systems are just working normally, no performance issues. Therefore no real reason to diagnose the CPU loading and such? Also assuming that these are somewhat current machines, like 1 GHz processors thereabouts?

I guess on each machine if you were to ping the loopback address, 127.0.0.1 which means to ping yourself internally within your own stack, if those aren't like hyper fast, mine take 0.033 mS, then look at the performance of the machines.

Other than those thoughts I have little other ideas here. Yes, there's a problem. I see no packet loss in your pings, so my other thought of trying a new cable is half moot, but that's also an idea to try.
 
Old 07-06-2015, 08:12 AM   #5
Danodare
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 54

Original Poster
Rep: Reputation: 16
I tried a third ethernet cable, same result.

First machine is i7-2600s 2.8 ghz with asus p8z68-vpro motherboard, second machine is core2duo e6600 2.4 ghz with asus p5w motherboard. Both machines have extremely low ping of approximately 0.020 ms to themselves (127.0.0.1) but very high ping between each other.

Actually I noticed something odd when letting ping run for a longer time:
Code:
ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_req=1 ttl=64 time=198 ms
64 bytes from 192.168.0.2: icmp_req=2 ttl=64 time=96.9 ms
64 bytes from 192.168.0.2: icmp_req=3 ttl=64 time=95.9 ms
64 bytes from 192.168.0.2: icmp_req=4 ttl=64 time=94.9 ms
64 bytes from 192.168.0.2: icmp_req=5 ttl=64 time=92.8 ms
64 bytes from 192.168.0.2: icmp_req=6 ttl=64 time=90.8 ms
64 bytes from 192.168.0.2: icmp_req=7 ttl=64 time=88.8 ms
64 bytes from 192.168.0.2: icmp_req=8 ttl=64 time=87.0 ms
64 bytes from 192.168.0.2: icmp_req=9 ttl=64 time=85.8 ms
64 bytes from 192.168.0.2: icmp_req=10 ttl=64 time=84.1 ms
64 bytes from 192.168.0.2: icmp_req=11 ttl=64 time=82.9 ms
64 bytes from 192.168.0.2: icmp_req=12 ttl=64 time=80.9 ms
64 bytes from 192.168.0.2: icmp_req=13 ttl=64 time=78.8 ms
64 bytes from 192.168.0.2: icmp_req=14 ttl=64 time=76.8 ms
64 bytes from 192.168.0.2: icmp_req=15 ttl=64 time=75.1 ms
64 bytes from 192.168.0.2: icmp_req=16 ttl=64 time=73.9 ms
64 bytes from 192.168.0.2: icmp_req=17 ttl=64 time=71.8 ms
64 bytes from 192.168.0.2: icmp_req=18 ttl=64 time=69.8 ms
64 bytes from 192.168.0.2: icmp_req=19 ttl=64 time=67.8 ms
64 bytes from 192.168.0.2: icmp_req=20 ttl=64 time=65.9 ms
64 bytes from 192.168.0.2: icmp_req=21 ttl=64 time=63.9 ms
64 bytes from 192.168.0.2: icmp_req=22 ttl=64 time=61.9 ms
64 bytes from 192.168.0.2: icmp_req=23 ttl=64 time=59.9 ms
64 bytes from 192.168.0.2: icmp_req=24 ttl=64 time=57.6 ms
64 bytes from 192.168.0.2: icmp_req=25 ttl=64 time=56.1 ms
64 bytes from 192.168.0.2: icmp_req=26 ttl=64 time=54.9 ms
64 bytes from 192.168.0.2: icmp_req=27 ttl=64 time=52.8 ms
64 bytes from 192.168.0.2: icmp_req=28 ttl=64 time=50.9 ms
64 bytes from 192.168.0.2: icmp_req=29 ttl=64 time=49.0 ms
64 bytes from 192.168.0.2: icmp_req=30 ttl=64 time=47.8 ms
64 bytes from 192.168.0.2: icmp_req=31 ttl=64 time=45.9 ms
64 bytes from 192.168.0.2: icmp_req=32 ttl=64 time=44.1 ms
64 bytes from 192.168.0.2: icmp_req=33 ttl=64 time=43.3 ms
64 bytes from 192.168.0.2: icmp_req=34 ttl=64 time=41.8 ms
64 bytes from 192.168.0.2: icmp_req=35 ttl=64 time=39.8 ms
64 bytes from 192.168.0.2: icmp_req=36 ttl=64 time=37.9 ms
64 bytes from 192.168.0.2: icmp_req=37 ttl=64 time=35.9 ms
64 bytes from 192.168.0.2: icmp_req=40 ttl=64 time=34.1 ms
64 bytes from 192.168.0.2: icmp_req=41 ttl=64 time=32.6 ms
64 bytes from 192.168.0.2: icmp_req=42 ttl=64 time=31.0 ms
64 bytes from 192.168.0.2: icmp_req=43 ttl=64 time=29.8 ms
64 bytes from 192.168.0.2: icmp_req=44 ttl=64 time=27.8 ms
64 bytes from 192.168.0.2: icmp_req=45 ttl=64 time=25.8 ms
64 bytes from 192.168.0.2: icmp_req=46 ttl=64 time=24.1 ms
64 bytes from 192.168.0.2: icmp_req=47 ttl=64 time=22.8 ms
64 bytes from 192.168.0.2: icmp_req=48 ttl=64 time=20.9 ms
64 bytes from 192.168.0.2: icmp_req=49 ttl=64 time=18.8 ms
64 bytes from 192.168.0.2: icmp_req=50 ttl=64 time=16.8 ms
64 bytes from 192.168.0.2: icmp_req=51 ttl=64 time=14.9 ms
64 bytes from 192.168.0.2: icmp_req=52 ttl=64 time=13.2 ms
64 bytes from 192.168.0.2: icmp_req=53 ttl=64 time=11.5 ms
64 bytes from 192.168.0.2: icmp_req=54 ttl=64 time=10.1 ms
64 bytes from 192.168.0.2: icmp_req=55 ttl=64 time=8.93 ms
64 bytes from 192.168.0.2: icmp_req=56 ttl=64 time=6.85 ms
64 bytes from 192.168.0.2: icmp_req=57 ttl=64 time=4.60 ms
64 bytes from 192.168.0.2: icmp_req=58 ttl=64 time=3.05 ms
64 bytes from 192.168.0.2: icmp_req=59 ttl=64 time=1.90 ms
64 bytes from 192.168.0.2: icmp_req=60 ttl=64 time=99.8 ms
64 bytes from 192.168.0.2: icmp_req=61 ttl=64 time=98.2 ms
64 bytes from 192.168.0.2: icmp_req=62 ttl=64 time=96.7 ms
64 bytes from 192.168.0.2: icmp_req=63 ttl=64 time=95.4 ms
64 bytes from 192.168.0.2: icmp_req=64 ttl=64 time=94.1 ms
64 bytes from 192.168.0.2: icmp_req=65 ttl=64 time=93.0 ms
64 bytes from 192.168.0.2: icmp_req=66 ttl=64 time=91.9 ms
64 bytes from 192.168.0.2: icmp_req=67 ttl=64 time=91.0 ms
64 bytes from 192.168.0.2: icmp_req=68 ttl=64 time=89.9 ms
64 bytes from 192.168.0.2: icmp_req=69 ttl=64 time=87.8 ms
64 bytes from 192.168.0.2: icmp_req=70 ttl=64 time=86.1 ms
64 bytes from 192.168.0.2: icmp_req=71 ttl=64 time=84.9 ms
64 bytes from 192.168.0.2: icmp_req=72 ttl=64 time=82.6 ms
64 bytes from 192.168.0.2: icmp_req=73 ttl=64 time=81.1 ms
64 bytes from 192.168.0.2: icmp_req=74 ttl=64 time=79.9 ms
64 bytes from 192.168.0.2: icmp_req=75 ttl=64 time=78.0 ms
64 bytes from 192.168.0.2: icmp_req=76 ttl=64 time=76.9 ms
64 bytes from 192.168.0.2: icmp_req=77 ttl=64 time=74.8 ms
64 bytes from 192.168.0.2: icmp_req=78 ttl=64 time=72.9 ms
64 bytes from 192.168.0.2: icmp_req=79 ttl=64 time=70.9 ms
64 bytes from 192.168.0.2: icmp_req=80 ttl=64 time=69.8 ms
64 bytes from 192.168.0.2: icmp_req=81 ttl=64 time=67.9 ms
64 bytes from 192.168.0.2: icmp_req=82 ttl=64 time=65.7 ms
64 bytes from 192.168.0.2: icmp_req=83 ttl=64 time=64.0 ms
64 bytes from 192.168.0.2: icmp_req=84 ttl=64 time=62.9 ms
64 bytes from 192.168.0.2: icmp_req=85 ttl=64 time=60.8 ms
64 bytes from 192.168.0.2: icmp_req=86 ttl=64 time=58.6 ms
64 bytes from 192.168.0.2: icmp_req=87 ttl=64 time=57.2 ms
64 bytes from 192.168.0.2: icmp_req=88 ttl=64 time=55.8 ms
64 bytes from 192.168.0.2: icmp_req=89 ttl=64 time=53.9 ms
64 bytes from 192.168.0.2: icmp_req=90 ttl=64 time=51.8 ms
64 bytes from 192.168.0.2: icmp_req=91 ttl=64 time=49.9 ms
64 bytes from 192.168.0.2: icmp_req=92 ttl=64 time=47.8 ms
64 bytes from 192.168.0.2: icmp_req=93 ttl=64 time=45.6 ms
64 bytes from 192.168.0.2: icmp_req=94 ttl=64 time=44.1 ms
64 bytes from 192.168.0.2: icmp_req=95 ttl=64 time=42.8 ms
64 bytes from 192.168.0.2: icmp_req=96 ttl=64 time=40.8 ms
64 bytes from 192.168.0.2: icmp_req=97 ttl=64 time=38.8 ms
64 bytes from 192.168.0.2: icmp_req=98 ttl=64 time=36.9 ms
64 bytes from 192.168.0.2: icmp_req=99 ttl=64 time=34.9 ms
64 bytes from 192.168.0.2: icmp_req=100 ttl=64 time=34.2 ms
64 bytes from 192.168.0.2: icmp_req=101 ttl=64 time=32.8 ms
64 bytes from 192.168.0.2: icmp_req=102 ttl=64 time=30.8 ms
64 bytes from 192.168.0.2: icmp_req=103 ttl=64 time=28.8 ms
64 bytes from 192.168.0.2: icmp_req=104 ttl=64 time=26.6 ms
64 bytes from 192.168.0.2: icmp_req=105 ttl=64 time=25.1 ms
64 bytes from 192.168.0.2: icmp_req=106 ttl=64 time=23.9 ms
64 bytes from 192.168.0.2: icmp_req=107 ttl=64 time=21.8 ms
64 bytes from 192.168.0.2: icmp_req=108 ttl=64 time=20.2 ms
64 bytes from 192.168.0.2: icmp_req=109 ttl=64 time=18.8 ms
64 bytes from 192.168.0.2: icmp_req=110 ttl=64 time=16.8 ms
64 bytes from 192.168.0.2: icmp_req=111 ttl=64 time=14.6 ms
64 bytes from 192.168.0.2: icmp_req=112 ttl=64 time=13.0 ms
64 bytes from 192.168.0.2: icmp_req=113 ttl=64 time=11.6 ms
64 bytes from 192.168.0.2: icmp_req=114 ttl=64 time=10.1 ms
64 bytes from 192.168.0.2: icmp_req=115 ttl=64 time=9.25 ms
64 bytes from 192.168.0.2: icmp_req=116 ttl=64 time=7.82 ms
64 bytes from 192.168.0.2: icmp_req=117 ttl=64 time=5.89 ms
64 bytes from 192.168.0.2: icmp_req=118 ttl=64 time=4.37 ms
64 bytes from 192.168.0.2: icmp_req=119 ttl=64 time=3.09 ms
64 bytes from 192.168.0.2: icmp_req=120 ttl=64 time=1.92 ms
64 bytes from 192.168.0.2: icmp_req=121 ttl=64 time=100 ms
64 bytes from 192.168.0.2: icmp_req=122 ttl=64 time=98.9 ms
If anyone could shed any light on what is going on, I would be grateful. It definitely looks the hardware is not at fault, but something is not working as it should in the software.

Last edited by Danodare; 07-06-2015 at 08:16 AM.
 
Old 07-06-2015, 08:34 AM   #6
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,889
Blog Entries: 13

Rep: Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933Reputation: 4933
It looks like your systems are doing other things that are taking up the CPU time.

What are your load averages on each system? Use either top, or the w command:
Code:
$ w
 09:32:31 up 28 days,  1:54,  5 users,  load average: 0.10, 0.11, 0.11
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
temp     tty7                      08Jun15 28days  3:38m  5.10s gnome-session -
temp     pts/0    :0               08Jun15 27days 19:29  19:29  emacs wdw.cpp
temp     pts/2    :0               25Jun15 10days 54:26   0.96s bash
temp     pts/3    :0               25Jun15 10days  0.24s  0.24s bash
temp     pts/4    :0               09:31    7.00s  0.22s  0.01s w
 
Old 07-06-2015, 08:34 AM   #7
Danodare
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 54

Original Poster
Rep: Reputation: 16
The load is negligible on both machines. On the first machine w gives me:
Code:
15:35:49 up 79 days, 21:39,  3 users,  load average: 0.00, 0.02, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                17Apr15  1:50m  0.68s  0.00s /bin/sh /usr/bin/startx
root     pts/1    :0               13:56   11:42   0.03s  0.03s /bin/bash -l
root     pts/2    :0               15:17    0.00s  0.01s  0.00s w
And similar result on the second machine.

Since the first machine is configured as a gateway to the internet, I tested by plugging a ps3 into it. Obviously there is no way to ping from the ps3, but I downloaded something from the playstation network and the transfer speed was again around 70 kilobytes per second. So I suspect something is wrong with the first machine, not the second.

eth0 on the first machine is connected to the internet and working fine, around 1 megabyte per second (I live in the countryside so that's as good as it gets here).

eth1 on the first machine (the ethernet port which is too slow) is actually a network card. Below are the results of lspci -v for eth1.
Code:
Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)
Subsystem: D-Link System Inc DFE-530TX rev C
Flags: bus master, stepping, medium devsel, latency 32, IRQ 19
I/O ports at d000 [size=256]
Memory at fb911000 (32-bit, non-prefetchable) [size=256]
Expansion ROM at fb900000 [disabled] [size=64K]
Capabilities: [40] Power Management version 2
Kernel driver in use: via-rhine
Kernel modules: via-rhine
Does anyone know if the "latency 32" is normal ? For eth0, lspci -v gives me:
Code:
Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 05)
Subsystem: ASUSTeK Computer Inc. P8P67 Deluxe Motherboard
Flags: bus master, fast devsel, latency 0, IRQ 65
Memory at fbd00000 (32-bit, non-prefetchable) [size=128K]
Memory at fbd28000 (32-bit, non-prefetchable) [size=4K]
I/O ports at f080 [size=32]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] PCI Advanced Features
Kernel driver in use: e1000e
Kernel modules: e1000e
Here the latency is 0.

Last edited by Danodare; 07-06-2015 at 08:38 AM.
 
Old 07-12-2015, 08:03 AM   #8
Danodare
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 54

Original Poster
Rep: Reputation: 16
I eventually solved it by rebooting the first machine.

The problem came back after a few hours and this time I solved it by

ifconfig eth1 down
rmmod via-rhine
modprobe via-rhine

As a slackware user, I have not been accustomed to have to restart programs periodically because of bugs. Everything is so rock solid under slackware !

In any case, this works now.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] touchpad speed extremely slow dEnDrOn Fedora 2 06-30-2014 01:29 PM
Extremely slow write speed for SATA drive wjtaylor Linux - Server 4 06-17-2011 04:36 PM
Help - Extremely slow internet speed in etch manusmad Debian 6 04-17-2008 04:37 PM
NF7-S + Sata .... extremely slow speed... Ryanlee Linux - Hardware 1 11-02-2005 12:57 AM
Extremely slow burn speed with cdrecord SilentStrike Linux - Hardware 4 11-17-2002 02:22 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 10:56 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration