← Back to team overview

rohc team mailing list archive

Re: Tunnel tool ping error

 

Didier,


> > > The route toward network 10.0.0.0/24 is not present. It should be
> > > setup when the rohc0 interface will become UP and RUNNING. Please
> > > check that the route is present after running the 'ip link set
> > > rohc0 up' command.
> > >
> >
> > Thanks, I set up the interface correctly, but still could not ping -
> > the output was:
> >
> > :~# ping 10.0.0.2
> > PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
> > ping: sendmsg: No buffer space available
> > ping: sendmsg: No buffer space available
>
> Ok, that did not fix the problem.
>
>
> > > There is an additional thing that looks strange to me. The ping from
> > > machine A to machine B gets a TTL of 57. The ping from B to A gets a
> > > TTL of 63. Beside the fact they are different (is there different
> > > paths to go from one machine to the other in your network ?), it
> > > shows that you have at least one router between the 2 machines.
> > > They could be the root of the problem. Could you please test the
> > > tunnel tool with 2 machines on the same Ethernet link to see if it
> > > works ?
> > >
> >
> > I still couldn't ping even when they were directly connected:
> >
> > *Machine A:*
> >
> > [...]
> >
> > *Machine B:*
> >
> > [...]
>
> Your network setup seems fine now. There is probably a problem with
> rohctunnel. Could you setup the tunnel once again and send only one
> ICMP Echo Request in it with the following command on machine A :
>  $ ping -c 1 10.0.0.2
>
> It should failed. When the ping command returns, could you please send
> me all the traces printed by the 2 rohctunnel commands on machine A and
> machine B ? Put the logs as attachments to avoid line wrapping please.


It actually worked! I'm not sure why it was different this time, but the
ping was successful:

*Machine A*

# ip link set rohc0 up
# ip -4 addr add 10.0.0.1/24 dev rohc0
# ip -6 addr add 2001:eeee::1/64 dev rohc0
# ping -c 1 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=7.84 ms

--- 10.0.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 7.843/7.843/7.843/0.000 ms


Please find the logs attached..

Many thanks.

Regards,
Josephine
# rohctunnel rohc0 remote 192.168.0.20 local 192.168.0.21 port 5000
rohctunnel: error while loading shared libraries: librohc_common.so.0: cannot open shared object file: No such file or directory
root@DUKE:/home/josie# su josie
josie@DUKE:~$ rohc tunnel
bash: rohc: command not found
josie@DUKE:~$ rohctunnel
ROHC tunnel: make a ROHC over UDP tunnel

usage: rohctunnel NAME remote RADDR local LADDR port PORT [error MODEL PARAMS [dir DIR]]
  NAME    the name of the tunnel
  RADDR   the IP address of the remote host
  LADDR   the IP address of the local host
  PORT    the UDP port to use (local and remote)
  MODEL   the error model to apply (none, uniform, burst)
  PARAMS  the error model parameters:
            none     no extra parameter
            uniform  RATE = the BER (binary error rate) to emulate
            burst    PE2  = the probability to be in error state
                     P2   = the probability to stay in error state
  DIR     unidirectional or bidirectional mode (default is bidirectional)

example: rohctunnel rohc0 remote 192.168.0.20 local 192.168.0.21 port 5000 error uniform 1e-5 dir bidirectional
josie@DUKE:~$ sudo rohctunnel rohc0 remote 192.168.0.20 local 192.168.0.21 port 5000 
rohctunnel: error while loading shared libraries: librohc_common.so.0: cannot open shared object file: No such file or directory
josie@DUKE:~$ sudo rohctunnel rohc0 remote 192.168.0.20 local 192.168.0.21 port 5000 
rohctunnel: error while loading shared libraries: librohc_common.so.0: cannot open shared object file: No such file or directory
josie@DUKE:~$ sudo bash
root@DUKE:~# rohctunnel rohc0 remote 192.168.0.20 local 192.168.0.21 port 5000 
rohc0 created, fd 3
UDP socket created on port 5000, fd 4
[rohc_comp.c:67 rohc_alloc_compressor()] creating compressor
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_decomp.c:399 rohc_decompress()] decompress the packet #1
[rohc_decomp.c:550 d_decode_feedback_first()] skip 0 byte(s) of padding
[rohc_decomp.c:846 rohc_ir_packet_crc_ok()] size of IR packet header : 20 
[rohc_decomp.c:865 rohc_ir_packet_crc_ok()] CRC OK (crc = 0x87, profile_id = 4, largecid = 0, addcidUsed = 0, ir_size = 20)
[d_generic.c:1465 d_generic_decode_ir()] decode an IR packet
[d_generic.c:1769 d_decode_static_ip4()] IP Version = 4
[d_generic.c:1775 d_decode_static_ip4()] Protocol = 0x01
[d_generic.c:1781 d_decode_static_ip4()] Source Address = 0x0100000a
[d_generic.c:1787 d_decode_static_ip4()] Destination Address = 0x0200000a
[d_generic.c:1927 d_decode_dynamic_ip4()] TOS = 0x00
[d_generic.c:1933 d_decode_dynamic_ip4()] TTL = 0x40
[d_generic.c:1939 d_decode_dynamic_ip4()] IP-ID = 0x0000
[d_generic.c:1952 d_decode_dynamic_ip4()] DF = 1, RND = 0, NBO = 1
[d_generic.c:5316 build_uncompressed_ip4()] IP-ID = 0x0000
[d_generic.c:5320 build_uncompressed_ip4()] IHL = 0x5
[d_generic.c:5325 build_uncompressed_ip4()] Total Length = 0x0054 (IHL * 4 + 64)
[d_generic.c:5328 build_uncompressed_ip4()] IP checksum = 0x26a7
[d_generic.c:5683 update_inter_packet()] current time = 1574874319 and last time = 0
[d_generic.c:5697 update_inter_packet()] inter_arrival_time = 0 and current arrival delta is = 0
[d_generic.c:1666 d_generic_decode_ir()] ROHC payload (length = 64 bytes) starts at offset 20
[rohc_decomp.c:411 rohc_decompress()] state in decompressor = 3
[rohc_decomp.c:484 rohc_decompress()] feedback curr -12
[rohc_decomp.c:491 rohc_decompress()] feedback curr 0
[rohc_decomp.c:969 d_optimistic_feedback()] send an ACK feedback
[rohc_comp.c:1220 c_piggyback_feedback()] add 4 byte(s) of feedback to the next outgoing ROHC packet
[rohc_comp.c:175 rohc_compress()] size of IP packet = 84 bytes
[rohc_comp.c:198 rohc_compress()] IP protocol = 1
[rohc_comp.c:203 rohc_compress()] no profile found, using default IP profile
[rohc_comp.c:1121 c_find_context()] no context was found
[rohc_comp.c:1035 c_create_context()] take the first unused context (CID = 0)
[rohc_comp.c:1075 c_create_context()] context (CID = 0) created (num_used = 1)
[rohc_comp.c:269 rohc_compress()] selected compression profile = IP / Compressor (0x0004)
[rohc_comp.c:1280 c_piggyback_get()] feedback size = 0xf4
[rohc_comp.c:1302 c_piggyback_get()] add 4 byte(s) of feedback data: 0x20 0x01 0x11 0x39 
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:287 rohc_compress()] compress the packet #1
[c_generic.c:844 c_generic_encode()] SN = 1
[c_generic.c:6120 changed_dynamic_both_hdr()] check for changed fields in the outer IP header
[c_generic.c:862 c_generic_encode()] send_static = 0, send_dynamic = 0
[c_generic.c:870 c_generic_encode()] ip_id = 0x7adf, context_sn = 1
[c_generic.c:2230 update_variables()] ip_id delta = 0x7ade / 31454
[c_generic.c:2231 update_variables()] ip_id bits = -1
[c_generic.c:2241 update_variables()] sn bits=-1
[c_generic.c:2579 decide_packet()] IR state
[c_generic.c:2804 code_IR_packet()] code IR packet (CID = 0)
[cid.c:57 code_cid_values()] CID = 0 => no add-CID
[c_generic.c:2821 code_IR_packet()] type of packet + D flag = 0xfd
[c_generic.c:2825 code_IR_packet()] profile ID = 0x04
[c_generic.c:2831 code_IR_packet()] CRC = 0x00 for CRC calculation
[c_generic.c:3096 code_ipv4_static_part()] version = 0x40
[c_generic.c:3101 code_ipv4_static_part()] protocol = 0x01
[c_generic.c:3111 code_ipv4_static_part()] src addr = 0a 00 00 02
[c_generic.c:3119 code_ipv4_static_part()] dst addr = 0a 00 00 01
[c_generic.c:3305 code_ipv4_dynamic_part()] TOS = 0x00, TTL = 0x40, IP-ID = 0xdf7a, df_rnd_nbo = 0x20 (DF = 0, RND = 0, NBO = 1)
[c_generic.c:2890 code_IR_packet()] SN = 1 -> 0x0001
[c_generic.c:2896 code_IR_packet()] CRC (header length = 20, crc = 0xe5)
[rohc_comp.c:362 rohc_compress()] ROHC size = 89 (feedback = 0, header = 20, payload = 64), output buffer size = 5120
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_decomp.c:399 rohc_decompress()] decompress the packet #2
[rohc_decomp.c:550 d_decode_feedback_first()] skip 0 byte(s) of padding
[rohc_decomp.c:776 d_decode_feedback()] feedback present (header = 1 bytes, data = 4 bytes)
[rohc_comp.c:1401 c_deliver_feedback()] deliver 4 byte(s) of feedback to the right context
[rohc_comp.c:1425 c_deliver_feedback()] feedback size = 4
[c_generic.c:2019 c_generic_feedback()] feedback 2
[c_generic.c:629 change_mode()] change from mode 1 to mode 2
[c_generic.c:2072 c_generic_feedback()] ack
[wlsb.c:399 c_ack_remove()] index is 0
[wlsb.c:399 c_ack_remove()] index is 0
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:1302 c_piggyback_get()] add 0 byte(s) of feedback data

# ip link set rohc0 up
root@BARON:~# ip -4 addr add 10.0.0.1/24 dev rohc0
root@BARON:~# ip -6 addr add 2001:eeee::1/64 dev rohc0
root@BARON:~# ping -c 1 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=7.84 ms

--- 10.0.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 7.843/7.843/7.843/0.000 ms


Follow ups

References