}
 
 static bool mlxsw_sp_ipip_can_offload_gre4(const struct mlxsw_sp *mlxsw_sp,
-                                          const struct net_device *ol_dev,
-                                          enum mlxsw_sp_l3proto ol_proto)
+                                          const struct net_device *ol_dev)
 {
        struct ip_tunnel *tunnel = netdev_priv(ol_dev);
        __be16 okflags = TUNNEL_KEY; /* We can't offload any other features. */
 
                              struct mlxsw_sp_ipip_entry *ipip_entry);
 
        bool (*can_offload)(const struct mlxsw_sp *mlxsw_sp,
-                           const struct net_device *ol_dev,
-                           enum mlxsw_sp_l3proto ol_proto);
+                           const struct net_device *ol_dev);
 
        /* Return a configuration for creating an overlay loopback RIF. */
        struct mlxsw_sp_rif_ipip_lb_config
 
        const struct mlxsw_sp_ipip_ops *ops
                = mlxsw_sp->router->ipip_ops_arr[ipipt];
 
-       /* For deciding whether decap should be offloaded, we don't care about
-        * overlay protocol, so ask whether either one is supported.
-        */
-       return ops->can_offload(mlxsw_sp, ol_dev, MLXSW_SP_L3_PROTO_IPV4) ||
-              ops->can_offload(mlxsw_sp, ol_dev, MLXSW_SP_L3_PROTO_IPV6);
+       return ops->can_offload(mlxsw_sp, ol_dev);
 }
 
 static int mlxsw_sp_netdevice_ipip_ol_reg_event(struct mlxsw_sp *mlxsw_sp,
        ipip_entry = mlxsw_sp_ipip_entry_find_by_ol_dev(mlxsw_sp, dev);
        if (ipip_entry) {
                ipip_ops = mlxsw_sp->router->ipip_ops_arr[ipip_entry->ipipt];
-               if (ipip_ops->can_offload(mlxsw_sp, dev,
-                                         MLXSW_SP_L3_PROTO_IPV4)) {
+               if (ipip_ops->can_offload(mlxsw_sp, dev)) {
                        nh->type = MLXSW_SP_NEXTHOP_TYPE_IPIP;
                        mlxsw_sp_nexthop_ipip_init(mlxsw_sp, nh, ipip_entry);
                        return 0;
        ipip_entry = mlxsw_sp_ipip_entry_find_by_ol_dev(mlxsw_sp, dev);
        if (ipip_entry) {
                ipip_ops = mlxsw_sp->router->ipip_ops_arr[ipip_entry->ipipt];
-               if (ipip_ops->can_offload(mlxsw_sp, dev,
-                                         MLXSW_SP_L3_PROTO_IPV6)) {
+               if (ipip_ops->can_offload(mlxsw_sp, dev)) {
                        nh->type = MLXSW_SP_NEXTHOP_TYPE_IPIP;
                        mlxsw_sp_nexthop_ipip_init(mlxsw_sp, nh, ipip_entry);
                        return 0;