diff --git a/link_linux.go b/link_linux.go index 56ace6b..28e9ec2 100644 --- a/link_linux.go +++ b/link_linux.go @@ -2035,7 +2035,11 @@ func addSittunAttrs(sittun *Sittun, linkInfo *nl.RtAttr) { nl.NewRtAttrChild(data, nl.IFLA_IPTUN_REMOTE, []byte(ip)) } - nl.NewRtAttrChild(data, nl.IFLA_IPTUN_TTL, nl.Uint8Attr(sittun.Ttl)) + if sittun.Ttl > 0 { + // Would otherwise fail on 3.10 kernel + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_TTL, nl.Uint8Attr(sittun.Ttl)) + } + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_TOS, nl.Uint8Attr(sittun.Tos)) nl.NewRtAttrChild(data, nl.IFLA_IPTUN_PMTUDISC, nl.Uint8Attr(sittun.PMtuDisc)) nl.NewRtAttrChild(data, nl.IFLA_IPTUN_ENCAP_TYPE, nl.Uint16Attr(sittun.EncapType)) diff --git a/link_test.go b/link_test.go index 07d61ff..3bf4b8e 100644 --- a/link_test.go +++ b/link_test.go @@ -444,6 +444,8 @@ func TestLinkAddDelVeth(t *testing.T) { } func TestLinkAddDelBond(t *testing.T) { + minKernelRequired(t, 3, 13) + tearDown := setUpNetlinkTest(t) defer tearDown() diff --git a/neigh_test.go b/neigh_test.go index dc1d4ab..ddbd99c 100644 --- a/neigh_test.go +++ b/neigh_test.go @@ -53,6 +53,8 @@ func dumpContainsProxy(dump []Neigh, p proxyEntry) bool { } func TestNeighAddDelLLIPAddr(t *testing.T) { + setUpNetlinkTestWithKModule(t, "ipip") + tearDown := setUpNetlinkTest(t) defer tearDown()