devip: ipgen() is incomplete

Issue #18 open
Yaroslav Kolomiiets
created an issue
cpu% ls -q /mnt/term/net
(0000000000000002 0 00) /mnt/term/net/cs
(0000000000010003 0 80) /mnt/term/net/tcp
(0000000000000003 0 80) /mnt/term/net/udp
cpu% ls -q /mnt/term/net/cs
ls: /mnt/term/net/cs: '/mnt/term/net/cs' does not exist
cpu% ls -q /mnt/term/net/tcp/0
(0000000000010007 0 00) /mnt/term/net/tcp/0/ctl
(0000000000010006 0 00) /mnt/term/net/tcp/0/data
(000000000001000b 0 00) /mnt/term/net/tcp/0/listen
(000000000001000a 0 00) /mnt/term/net/tcp/0/local
(0000000000010009 0 00) /mnt/term/net/tcp/0/remote
(0000000000010008 0 00) /mnt/term/net/tcp/0/status
cpu% ls -q /mnt/term/net/tcp/0/status
ls: /mnt/term/net/tcp/0/status: '/mnt/term/net/tcp/0/status' does not exist
cpu% cat /mnt/term/net/tcp/0/status
cat: can't open /mnt/term/net/tcp/0/status: '/mnt/term/net/tcp/0/status' does not exist

This is because the ipgen() function isn't complete enough for devstat() usage. I have this addressed locally - a patch is being prepared.

Furthermore, with the above problem fixed, the output from netstat program differs from usual:

cpu% netstat /mnt/term/net
tcp  0    yk       tcp/0        49508      17010      10.98.242.222
tcp  1    network    tcp/1        0          0          ::

This is because the status string is not the first word in reads from Qstatus. The proposed fix will be included in the patch.

Comments (3)

  1. Yaroslav Kolomiiets reporter

    With the correction applied:

    cpu% ls -q /mnt/term/net/cs
    (0006000000000002 0 00) /mnt/term/net/cs
    cpu% ls -q /mnt/term/net/tcp/0/status
    (000000000001000b 0 00) /mnt/term/net/tcp/0/status
    cpu% cat /mnt/term/net/tcp/0/status
    Established proto tcp x 0 r.ref 1
    cpu% netstat /mnt/term/net
    tcp  0    yk       Established  50342      17010      10.98.242.222
    tcp  1    network    Closed       0          0          ::
    
  2. Log in to comment