Hello,

Yesterday I wrote to misc@ with this:

https://marc.info/?l=openbsd-misc&m=152302592426018&w=2

I apologize with the inline paste, thunderbird is just not good enough for
this stuff.

Anyhow I have produced this patch after upgrading the 6.2 box to 6.3.  It all
works now:

Here is my config:

gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        index 12 priority 0 llprio 3
        groups: gif
        tunnel: inet6 fd43:5602:29bd:16:0:dead:beef:1 -> 
fd43:5602:29bd:16:0:dead:beef:16 ttl 64 nodf rdomain 2
        inet 172.16.16.10 --> 172.16.16.16 netmask 0xffffff00
        inet6 fe80::290:bff:fe19:5604%gif1 ->  prefixlen 64 scopeid 0xc

uranus$ ping6 fe80::baae:edff:fe73:a76c%gif1  
PING fe80::baae:edff:fe73:a76c%gif1 (fe80::baae:edff:fe73:a76c%gif1): 56 data 
bytes
64 bytes from fe80::baae:edff:fe73:a76c%gif1: icmp_seq=0 hlim=64 time=8.767 ms
64 bytes from fe80::baae:edff:fe73:a76c%gif1: icmp_seq=1 hlim=64 time=9.854 ms
^C
--- fe80::baae:edff:fe73:a76c%gif1 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 8.767/9.311/9.854/0.543 ms
uranus$ ping 172.16.16.16
PING 172.16.16.16 (172.16.16.16): 56 data bytes
64 bytes from 172.16.16.16: icmp_seq=0 ttl=255 time=10.329 ms
64 bytes from 172.16.16.16: icmp_seq=1 ttl=255 time=12.994 ms
^C
--- 172.16.16.16 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 10.329/11.662/12.994/1.332 ms

The patch follows:


Index: if_gif.c
===================================================================
RCS file: /cvs/src/sys/net/if_gif.c,v
retrieving revision 1.113
diff -u -p -u -r1.113 if_gif.c
--- if_gif.c    15 Mar 2018 21:01:18 -0000      1.113
+++ if_gif.c    7 Apr 2018 07:59:54 -0000
@@ -338,7 +338,7 @@ gif_send(struct gif_softc *sc, struct mb
                ip6->ip6_flow = htonl(flow);
                ip6->ip6_vfc |= IPV6_VERSION;
                ip6->ip6_plen = htons(len);
-               ip6->ip6_nxt = IPPROTO_GRE;
+               ip6->ip6_nxt = proto;
                ip6->ip6_hlim = ttl;
                ip6->ip6_src = sc->sc_tunnel.t_src6;
                ip6->ip6_dst = sc->sc_tunnel.t_dst6;


Best regards,
-peter

Reply via email to