|
|
@@ -469,7 +469,8 @@ static int cttimeout_default_get(struct net *net, struct sock *ctnl,
|
|
|
case IPPROTO_TCP:
|
|
|
timeouts = net->ct.nf_ct_proto.tcp.timeouts;
|
|
|
break;
|
|
|
- case IPPROTO_UDP:
|
|
|
+ case IPPROTO_UDP: /* fallthrough */
|
|
|
+ case IPPROTO_UDPLITE:
|
|
|
timeouts = net->ct.nf_ct_proto.udp.timeouts;
|
|
|
break;
|
|
|
case IPPROTO_DCCP:
|
|
|
@@ -483,13 +484,23 @@ static int cttimeout_default_get(struct net *net, struct sock *ctnl,
|
|
|
case IPPROTO_SCTP:
|
|
|
#ifdef CONFIG_NF_CT_PROTO_SCTP
|
|
|
timeouts = net->ct.nf_ct_proto.sctp.timeouts;
|
|
|
+#endif
|
|
|
+ break;
|
|
|
+ case IPPROTO_GRE:
|
|
|
+#ifdef CONFIG_NF_CT_PROTO_GRE
|
|
|
+ if (l4proto->net_id) {
|
|
|
+ struct netns_proto_gre *net_gre;
|
|
|
+
|
|
|
+ net_gre = net_generic(net, *l4proto->net_id);
|
|
|
+ timeouts = net_gre->gre_timeouts;
|
|
|
+ }
|
|
|
#endif
|
|
|
break;
|
|
|
case 255:
|
|
|
timeouts = &net->ct.nf_ct_proto.generic.timeout;
|
|
|
break;
|
|
|
default:
|
|
|
- WARN_ON_ONCE(1);
|
|
|
+ WARN_ONCE(1, "Missing timeouts for proto %d", l4proto->l4proto);
|
|
|
break;
|
|
|
}
|
|
|
|